Implicit Objects In JSP:
The JSP implicit objects are used for the
making the page dynamic. It is created by the web container. These implicit
objects are java objects that implement the Servlet and JSP API. These are
predefined objects that are accessible to all JSP pages. These objects are called implicit objects, because you don't need to instantiate these
objects.
Features of Implicit objects:
- JSP implicit objects allow
developers to access services and resources provided by the web container.
- JSP implicit objects are used to
generate the dynamic content of the web page.
- JSP implicit objects are available
to all JSP pages.
- JSP implicit objects help in
handling the HTML parameters, forward a request to a web component, and
include the content of the component.
Types of Implicit Objects:
There are nine implicit objects which
are generally used, these are:
The Request Object: Request parameter are
ed as parameter to the -jspService() method when a client request is
made. You can use the request objects in a JSP page similar to using these
in Servlet.The request implicit object is generally used to get request
parameters, request attributes, header information and query string values.
The Response Object: The response
objects is used to carry the response of a client request after the
-jspService() method is executed. The response object is of the
javax.servlet.http.HttpServletResponse type.
The Out Object: The out implicit object
provides access to the servlet's output stream. The out implicit object is used
to write the output content. It represents the output content to be
sent to the client.
The Page Object: The page object refers
to the Servlet of the JSP page processing the current request, and is of
the java.lang.object type.It represents the current JSP page. That is, it serves
as a reference to the java Servlet object that implements the JSP page on which
it is accessed.It is rarely used in a document. It cannot be used directly to
call the Servlet methods.
The pageContext Object: It represent the
context of the current JSP page. It provides a single API to manage the various
scoped attributes. This objects is of the javax.servlet.jsp.PageContext
type. That is it provides methods to get and set attributes in different scopes
and for transferring requests to other resources.
The application object: The application
object refers to the entire environment of a web application to which a JSP page
belongs. It gives facility for a JSP page to obtain and set information about
the web application in which it is running.
The session Object: The session object
helps access data and is of the HttpSession type. it is declared if the value of
the session attribute in a page directive is true. The session implicit object
is used to store session state for a single user.
The config Object: The config object
specifies the configuration of the parameters ed to a JSP page. It is an
instance of the java class that implements javax.servlet.ServletConfig
interface. It gives facility for a JSP page to obtain the initialization
parameters available.
The exception Object: This object
is an instance of the java.lang.Throwable class. It is available in JSP error
pages only that have the ErrorPage attribute set to true with page directive.
The use of implicit: Following is an
example in which i uses the JSP implicit object to make my pages dynamic:
a. index.jsp:
<html>
<body bgcolor="skyblue">
<form action="request.jsp">
Name:<input type="text" name="name" />
<input type="submit" value="ok" />
</body>
</html>
b. request.jsp:
<html>
<head><title>Use of implicit
objects</title></head>
<body bgcolor="pink" >
<b><%=request.getParameter("name")%>
</b><br/></br>
Your Request details are <br/><br/>
<table border="2">
<tr><th>Name</th><th>Value</th></tr>
<tr><td>request method</td>
<td><%=request.getMethod()
%></td></tr>
<tr><td>request URI</td>
<td><%=request.getRequestURI()
%></td></tr>
<tr><td>request protocol</td>
<td><%=request.getProtocol()
%></td></tr>
<tr><td>browser</td>
<td><%=request.getHeader("user-agent")
%></td></tr>
</table>
<%if (session.getAttribute("sessionVr")==null){
session.setAttribute("sessionVr",
new Integer(0));
}%>
<table>
<tr><th align="left>"Remaining
implicit objects</th></tr>
<tr>
<form name="form1"
action="pageContext.jsp" method="post">
<td><input type="radio" name="other"
value="Yes">Yes</td>
<td><input type="radio" name="other"
value="No">No</td></tr>
<tr><td><input type="submit"
value="submit"></td></tr>
</form>
</table>
</body
</html>
c. pageContext.jsp:
<html>
<head>
<title>Intermediate page</title>
</head>
<body bgcolor="yellow">
Intermediate page
<%
if("Yes".equals(request.getParameter("other")))
{
pageContext.forward("other");
}
%>
</body>
</html>
Output:
a. index.jsp:
b. request.jsp:
c. pageContext.jsp: