Question: What is the difference between ServletContext and PageContext?
Answer: ServletContext: Gives the information about the container
PageContext: Gives the information about the Request
Question: What is the difference in using request.getRequestDispatcher() and context.getRequestDispatcher()?
Answer: request.getRequestDispatcher(path): In order to create it we need to give the relative path of the resource
context.getRequestDispatcher(path): In order to create it we need to give the absolute path of the resource.
Question: How to pass information from JSP to included JSP?
Answer: Using <%jsp:param> tag.
Question: What is the difference between directive include and jsp include?
Answer: <%@ include> : Used to include static resources during translation time.
: Used to include dynamic content or static content during runtime.
Question: What is the difference between RequestDispatcher and sendRedirect?
Answer: RequestDispatcher: server-side redirect with request and response objects.
sendRedirect : Client-side redirect with new request and response objects.
Question: How does JSP handle runtime exceptions?
Answer: Using errorPage attribute of page directive and also we need to specify isErrorPage=true if the current page is intended to URL redirecting of a JSP.
Question: How do you delete a Cookie within a JSP?
Answer: Cookie mycook = new Cookie("name","value"); response.addCookie(mycook); Cookie killmycook = new Cookie("mycook","value"); killmycook.setMaxAge(0);
killmycook.setPath("/"); killmycook.addCookie(killmycook);
Question: How do I mix JSP and SSI #include?
Answer: If you're just including raw HTML, use the #include directive as usual inside your .jsp file.
But it's a little trickier if you want the server to evaluate any JSP code that's inside the included file. Ronel Sumibcay (ronel@LIVESOFTWARE.COM) says: If your data.inc file contains jsp code you will have to use
<%@ vinclude="data.inc" %>
The is used for including non-JSP files.
Question: How can you store international / Unicode characters into a cookie?
Answer: One way is, before storing the cookie URLEncode it.
URLEnocder.encoder(str);
And use URLDecoder.decode(str) when you get the stored cookie.
Question: What are the implicit objects?
Answer: Implicit objects are objects that are created by the web container and contain information related to a particular request, page, or application. They are:
request, response, pageContext, session, application, out, config, page, exception
Question: Is JSP technology extensible?
Answer: YES. JSP technology is extensible through the development of custom actions, or tags, which are encapsulated in tag libraries
Question: How can I implement a thread-safe JSP page? What are the advantages and Disadvantages of using it?
Answer: You can make your JSPs thread-safe by having them implement the SingleThreadModel interface. This is done by adding the directive
<%@ page isThreadSafe="false" %> within your JSP page.
With this, instead of a single instance of the servlet generated for your JSP page loaded in memory, you will have N instances of the servlet loaded and initialized, with the service method of each instance effectively synchronized. You can typically control the number of instances (N) that are instantiated for all servlets implementing SingleThreadModel through the admin screen for your JSP engine.
More importantly, avoid using the tag for variables. If you do use this tag, then you should set isThreadSafe to true, as mentioned above. Otherwise, all requests to that page will access those variables, causing a nasty race condition.
SingleThreadModel is not recommended for normal use. There are many pitfalls, including the example above of not being able to use . You should try really hard to make them thread-safe the old fashioned way: by making them thread-safe
Question: How does JSP handle run-time exceptions?
Answer: You can use the errorPage attribute of the page directive to have uncaught run-time exceptions automatically forwarded to an error processing page. For example:
<%@ page errorPage="error.jsp" %>
redirects the browser to the JSP page error.jsp if an uncaught exception is encountered during request processing. Within error.jsp, if you indicate that it is an error-processing page, via the directive:
<%@ page isErrorPage="true" %>
the Throwable object describing the exception may be accessed within the error page via the exception implicit object.
Note: You must always use a relative URL as the value for the errorPage attribute.
Question: How do I prevent the output of my JSP or Servlet pages from being cached by the browser?
Answer: You will need to set the appropriate HTTP header attributes to prevent the dynamic content output by the JSP page from being cached by the browser. Just execute the following scriptlet at the beginning of your JSP pages to prevent them from being cached at the browser. You need both the statements to take care of some of the older browser versions.
<% response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server %>
0 comments:
Post a Comment