7. Predefined Variables
To simplify code in JSP expressions and scriptlets,
you are supplied with eight automatically defined
variables, sometimes called implicit objects.
The available variables are request, response,
out, session, application,
config, pageContext, and
page. Details for each are given below.
7.1 request
This is the HttpServletRequest associated with the request,
and lets you look at the request parameters
(via getParameter), the request type
(GET, POST, HEAD, etc.),
and the incoming HTTP headers (cookies, Referer, etc.).
Strictly speaking, request is allowed to be a
subclass of ServletRequest other than
HttpServletRequest, if the protocol in the request
is something other than HTTP. This is almost never done
in practice.
7.2 response
This is the HttpServletResponse associated with the
response to the client. Note that, since the output stream
(see out below) is buffered, it is legal to set HTTP
status codes and response headers, even though this is not
permitted in regular servlets once any output has been sent
to the client.
7.3 out
This is the PrintWriter used to send output to the client.
However, in order to make the response object (see the
previous section) useful, this is a buffered version
of PrintWriter called JspWriter.
Note that you can adjust the buffer size, or even turn buffering off,
through use of the buffer attribute of the
page directive. This was
discussed in Section 5.
Also note that out is used almost exclusively in
scriptlets, since JSP expressions automatically
get placed in the output stream, and thus
rarely need to refer to out explicitly.
7.4 session
This is the HttpSession object associated with the request.
Recall that sessions are created automatically, so this
variable is bound even if there was no incoming session
reference. The one exception is if you use the
session attribute of the
page directive
(see Section 5) to turn sessions off, in which
case attempts to reference the session variable
cause errors at the time the JSP page is translated into
a servlet.
7.5 application
This is the ServletContext as obtained via
getServletConfig().getContext().
7.6 config
This is the ServletConfig object for this page.
7.7 pageContext
JSP introduced a new class called PageContext
to encapsulate use of server-specific
features like higher performance JspWriters. The idea
is that, if you access them through this class rather than
directly, your code will still run on "regular"
servlet/JSP engines.
7.8 page
This is simply a synonym for this, and is not
very useful in Java. It was created as a placeholder for
the time when the scripting language could be something
other than Java.
NEXT
This tutorial is now available as a book: Core Servlets and JavaServer Pages by Marty Hall, published by Sun Microsystems Press.
Read all about it at CoreServlets.com
Server-Side Web Applications using Java Servlets versions 2.1/2.2 and JavaServer Pages (JSP) version 1.0: A Tutorial
© 1999-2000 Marty Hall.
All source code freely available for unrestricted use.
Created for work in the Research and Technology Development Center of the Johns Hopkins University Applied Physics Lab, for courses in the Johns Hopkins Part-Time MS Program in Computer Science, and for various industry seminars and on-site Java short courses.
Please note that this is a first draft of the tutorial, so please send corrections, comments, and suggestions to me at hall@apl.jhu.edu.
Reprinted with permission from the author. Click here to visit the original version
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|