|
Although it probably makes more sense to think of different sources of
data (request data, server data, etc.) as distinct, experienced
CGI programmers may find the following table useful.
Assume that request is the
HttpServletRequest supplied to the doGet and
doPost methods.
| CGI Variable
| Meaning
| Accessing it from doGet or doPost
|
AUTH_TYPE
| If an Authorization header was supplied, this is the
scheme specified (basic or digest)
| request.getAuthType()
|
CONTENT_LENGTH
| For POST requests only, the number of bytes of data sent.
| Technically, the equivalent is
String.valueOf(request.getContentLength()) (a String)
but you'll probably want to just call
request.getContentLength(), which returns an int.
|
CONTENT_TYPE
| MIME type of attached data, if specified.
| request.getContentType()
|
DOCUMENT_ROOT
| Path to directory corresponding to http://host/
| getServletContext().getRealPath("/")
Note that this was request.getRealPath("/") in
older servlet specifications.
|
HTTP_XXX_YYY
| Access to arbitrary HTTP headers
| request.getHeader("Xxx-Yyy")
|
PATH_INFO
| Path information attached to the URL. Since servlets,
unlike standard CGI programs, can talk to the server,
they don't need to treat this separately. Path info
could be sent as part of the regular form data.
| request.getPathInfo()
|
PATH_TRANSLATED
| The path information mapped to a real path on
the server. Again, with servlets there is no
need to have a special case for this.
| request.getPathTranslated()
|
QUERY_STRING
| For GET requests, this is the attached data as one big string,
with values still URL-encoded. You rarely
want the raw data in servlets; instead use request.getParameter
to access individual parameters.
| request.getQueryString()
|
REMOTE_ADDR
| The IP address of the client that made the request,
as a String. E.g. "192.9.48.9".
| request.getRemoteAddr()
|
REMOTE_HOST
| The fully qualified domain name (e.g. "java.sun.com")
of the client that made the request. The IP address is returned if
this cannot be determined.
| request.getRemoteHost()
|
REMOTE_USER
| If an Authorization header was supplied, the user part.
| request.getRemoteUser()
|
REQUEST_METHOD
| The request type, which is usually GET or POST, but is
occasionally HEAD, PUT, DELETE,
OPTIONS, or TRACE.
| request.getMethod()
|
SCRIPT_NAME
| Path to servlet.
| request.getServletPath()
|
SERVER_NAME
| Web server's name
| request.getServerName()
|
SERVER_PORT
| Port server is listening on.
| Technically, the equivalent is
String.valueOf(request.getServerPort()), which returns
a String. You'll usually just want
request.getServerPort(), which returns an int.
|
SERVER_PROTOCOL
| Name and version used in the request line (e.g. HTTP/1.0 or
HTTP/1.1).
| request.getProtocol()
|
SERVER_SOFTWARE
| Identifying information about the Web server
| getServletContext().getServerInfo()
|
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.
|