JSP Interview Questions
Question: What do you understand by JSP Actions?Answer: JSP actions are XML tags that direct the server to use existing components or control the behavior of the JSP engine. JSP Actions consist of a typical (XML-based) prefix of "jsp" followed by a colon, followed by the action name followed by one or more attribute parameters.
<jsp:include/>
<jsp:forward/>
<jsp:plugin/>
<jsp:usebean/>
<jsp:setProperty/>
<jsp:getProperty/>
Question: What is the difference between <jsp:include
page = ... >
and
?.
<%@ include file = ... >
Answer: Both the tag includes the
information from one page in another. The differences are as follows:
<jsp:include page = ... >: This is like a function call
from one jsp to another jsp. It is executed ( the included page is
executed and the generated html content is included in the content of
calling jsp) each time the client page is accessed by the client. This
approach is useful to for modularizing the web application. If the included
file changed then the new content will be included in the output.
<%@ include file = ... >: In this case the content
of the included file is textually embedded in the page that have <%@
include file=".."> directive. In this case in the included file
changes, the changed content will not included in the output. This approach
is used when the code from one jsp file required to include in multiple jsp
files.
Question: What is the difference between <jsp:forward
page = ... >
and
response.sendRedirect(url),?.
Answer: The <jsp:forward>
element forwards the request object containing the client request
information from one JSP file to another file. The target file can be an
HTML file, another JSP file, or a servlet, as long as it is in the same
application context as the forwarding JSP file.
sendRedirect sends HTTP temporary redirect response to the
browser, and browser creates a new request to go the redirected page.
The response.sendRedirect kills the session variables.
Question: Identify the advantages of JSP over
Servlet.
a) Embedding of Java code in HTML pages
b) Platform independence
c) Creation of database-driven Web applications
d) Server-side programming capabilities
Answer :- Embedding of Java code in HTML pages
Write the following code for a JSP page:
<%@ page language = "java" %>
<HTML>
<HEAD><TITLE>RESULT PAGE</TITLE></HEAD>
<BODY>
<%
PrintWriter print = request.getWriter();
print.println("Welcome");
%>
</BODY>
</HTML>
Suppose
you access this JSP file, Find out your answer.
a) A blank page will be displayed.
b) A page with the text Welcome is displayed
c) An exception will be thrown because the implicit out object is not used
d) An exception will be thrown because PrintWriter can be used in servlets only
Answer :- A page with the text Welcome is displayed
Question: What
are implicit Objects available to the JSP Page?
Answer: Implicit objects are the objects
available to the JSP page. These objects are created by Web container and
contain information related to a particular request, page, or application.
The JSP implicit objects are:
Variable |
Class |
Description |
---|---|---|
application |
javax.servlet.ServletContext |
The context for the JSP page's servlet and any Web components contained in the same application. |
config |
javax.servlet.ServletConfig |
Initialization information for the JSP page's
servlet. |
exception |
java.lang.Throwable |
Accessible only from an error page. |
out |
javax.servlet.jsp.JspWriter |
The output stream. |
page |
java.lang.Object |
The instance of the JSP page's servlet processing the
current request. Not typically used by JSP page authors. |
pageContext |
javax.servlet.jsp.PageContext |
The context for the JSP page. Provides a single API to manage the various scoped attributes. |
request |
Subtype of javax.servlet.ServletRequest |
The request triggering the execution of the JSP page. |
response |
Subtype of javax.servlet.ServletResponse |
The response to be returned to the client. Not typically used by JSP page authors. |
session |
javax.servlet.http.HttpSession |
The session object for the client. |
Question: What
are all the different scope values for the <jsp:useBean> tag?
Answer:<jsp:useBean>
tag is used to use any java object in the jsp page. Here are the scope
values for <jsp:useBean> tag:
a) page
b) request
c) session and
d) application
Question: What
is JSP Output Comments?
Answer: JSP Output Comments are the comments that can be viewed in
the HTML source file.
Example:
<!--
This file displays the user login screen -->
and
<!-- This page was loaded on
<%= (new java.util.Date()).toLocaleString() %> -->
Question: What is expression in JSP?
Answer: Expression tag is used to insert Java values directly into
the output. Syntax for the Expression tag is:
<%= expression %>
An expression tag contains a scripting language expression that is evaluated, converted to a String, and inserted where the expression appears in the JSP file.
The following expression tag displays time on the output:
<%=new
java.util.Date()%>
Question: What types of comments are
available in the JSP?
Answer: There are two types of comments are allowed in the JSP. These
are hidden and
output comments.
A hidden comments does not appear in the generated output in the html, while
output comments appear in the generated output.
Example of hidden comment:
<%-- This is hidden comment --%>
Example of output comment:
<!-- This is output comment -->
Question: What is JSP declaration?
Answer: JSP Decleratives are the JSP tag used to declare variables.
Declaratives are enclosed in the <%! %> tag and ends in semi-colon.
You declare variables and functions in the declaration tag and can use
anywhere in the JSP. Here is the example of declaratives:
<%@page contentType="text/html" %>
<html>
<body>
<%!
int cnt=0;
private int getCount(){
//increment cnt and return the value
cnt++;
return cnt;
}
%>
<p>Values of Cnt are:</p>
<p><%=getCount()%></p>
</body>
</html>
Question: What is JSP Scriptlet?
Answer: JSP Scriptlet is jsp tag which is used to enclose java code
in the JSP pages. Scriptlets begins with <% tag and ends with
%> tag. Java code written inside scriptlet executes every time the
JSP is invoked.
Example:
<%
//java codes
String userName=null;
userName=request.getParameter("userName");
%>
Question: What are the life-cycle methods of JSP?
Answer: Life-cycle methods of the JSP are:
a) jspInit(): The container calls the jspInit() to initialize the
servlet instance. It is called before any other method, and is called only
once for a servlet instance.
b)_jspService(): The container calls the _jspservice() for each
request and it passes the request and the response objects. _jspService()
method cann't be overridden.
c) jspDestroy(): The container calls this when its instance is about
to destroyed.
The jspInit() and jspDestroy() methods can be overridden within a JSP page.