PW vs JW

(Q)What is the difference between PrintWriter & JspWriter ?
PrintWriter
-->Doesn't support buffering while writing data to response objects
-->Concrete class of java.io package
-->print(-) methods of these class doesn't throw IOException
-->Useful in servlet programming to get stream object pointing to response object
JspWriter
-->Supports buffering
-->Abstract class of javax.servlet.jsp package
-->throws IOException
-->Useful in JSP programming in directly as the type of "out" implicit object
Note: JspWriter object internally uses PrintWriter if jsp page is taken without buffer(<%@page buffer="none"%>)
8.)isThreadSafe
-->Our servlet, jsp component is not  threadsafe by default because for multiple requests multiple threads will be started on one object of our servlet/JES class objects simultaneously
-->If our servlet/JES class implements javax.servlet.SingleThreadModel(I) the underlying container takes the responsibility of making our servlet component /jsp component as threadsafe by allowing one thread at a time on to our servlet/JES class object
  1. <%@page isThreadSafe="false"%>
-->Makes JES class to implements SingleThreadModel(I)(jsp component becomes thread safe)
  1. <%@page isThreadSafe="true"%>
-->JES class doesn't implements SingleThreadModel(I) (jsp component is not thread safe)
  1. public class TestServlet extends HS implements javax.servlet.SingleThreadModel
  2. {
  3.   ...
  4. }
9.)isELIgnored
-->Writing java code in jsp is a bad practice but we place java code in jsp for arithmetic, logical operations to avoid java code and to perform arithmetic and logical operations without java code use EL(Expression Language)
Syn: $(<expr>)
E.g
  1. $(3+4)
  2. $(3*4)
  3. <%@page isELIgnored="false"%>
  4. -->Recognises the EL
  5. $(3+4)-->gives 7
  6. <%@page isELIgnored="true"%>
  7. -->Ignores the EL
  8. $(3*4)-->gives $(3*4)
10.)errorPage
-->Useful to configure error page for jsp component
-->Errorpage: The page that executes when exception is raised in jsp
  1. <%@page errorPage="err.jsp"%>
11.)isErrorPage
-->Makes ordinary jsp pages as error page. Useful to display exception related messages as the non technical guiding messages. The implicit object "exception" will be created in the error page
  1. <%@page isErrorPage="true"%>
Attributes
info
import
contentType
extends
session
buffer
autoFlush
isELIgnored
isErrorPage
isThreadSafe
errorPage
Default value
....
....
text/html
Container supplied class
True
8kb
True
False
False
True
....
Important points on <@page> tag
1.)Tag & attributes are case sensitive
2.)Invalid attributes are not allowed
3.)Except "import" attribute no other attribute is allowed to repeat for multiple times with different values
4.)Except "import" attribute no other attribute can have multiple values separated with "," symbols

Comments

Popular posts from this blog

Project Architecture's

AdvertisementRotator

JSP Life Cycle