internet.com logo The Java Boutique Java is a trademark of Sun Microsystems, Inc. Internet Trade Show List
 APPLETS
by Category
by Date
by Name
Hall of Fame
Archive
Submit
Source Code
Servlets and JSP
 ARTICLES
Tutorials
Reviews
Glossary
 FORUM
FAQ
Users Poll
Discussion Group
Contact Us
 OTHER RESOURCES
Custom Applets
Java@Work
Java News
Jini Watch
Affiliate Programs
Top Searches
chat - counter
menu - countdown

Internet Trade Show List
internet.com
Internet News
Internet Stocks/VC
Internet Technology
Windows Internet Tech.
Linux/Open Source
Web Developer
ECommerce/Marketing
ISP Resources
ASP Resources
Wireless Internet
Downloads
Internet Resources
Internet Lists
International

Search internet.com
Advertising Info
Corporate Info

internet.commerce
Be a Commerce Partner
Free Conf. Calling
Advertise a Coupon
Hosted site services
Free Disk Space
Outsource Tech Work
Content for Websites
get e-biz answers
Offer Online Payment
Wireless Content
Free Search Engine

WebDeveloper Network
Developer Forums
Developer News
ExtremeFlash
FlashKit
FlashPlanet
JavaBoutique
JavaScriptSource
ScriptSearch
SearchEngineWatch
StreamingMediaWorld
The WDVL
WebDeveloper.com
WebDevelopersJournal WebReference.com
The XML Files

Tutorials : Server-Side Web Applications Using Servlets and JSP :
Accessing the Standard CGI Variables :

Contents
Introduction to CGI Variables
Servlet Equivalent of Standard CGI Variables
Example: Reading the CGI Variables

2. Servlet Equivalent of Standard CGI Variables

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


Applet Index
(sorted alphabetically)

A B C D E F G H I J K
L M N O P Q R S T U
V W X Y Z #s
The Java Source
(applets w/source code)

A B C D E F G H I J K
L M N O P Q R S T U
V W X Y Z

Find out about becoming a Java Boutique sponsor.

Copyright 1999-2000 internet.com Corp.
All Rights Reserved. Legal Notices. Privacy Policy.