javax.servlet.http
Interface HttpServletRequest


public abstract interface HttpServletRequest
extends ServletRequest

Contains all the client's request information. Implementation note: all the headername matching in this class should be caseinsensitive.

Since:
Servlet API 1.0
Version:
Servlet API 2.1

Method Summary
 java.lang.String getAuthType()
          Gets the authorization scheme of this request.
 Cookie[] getCookies()
          Gets all the Cookies present in the request.
 long getDateHeader(java.lang.String name)
          Converts a given header parameter name to a date in the form of the number of milliseconds since 1 january 1970 midnight GMT.
 java.lang.String getHeader(java.lang.String name)
          Gets a named header.
 java.util.Enumeration getHeaderNames()
          Gets an Enumeration with all the headernames.
 int getIntHeader(java.lang.String name)
          Gets a named header and returns it in the shape of an int.
 java.lang.String getMethod()
          Gets the method the client used.
 java.lang.String getPathInfo()
          Extra path info.
 java.lang.String getPathTranslated()
          The filesystem path to the path info.
 java.lang.String getQueryString()
          Gets the request's query string.
 java.lang.String getRemoteUser()
          Gets the username of the person sending the request.
 java.lang.String getRequestedSessionId()
          Gets the session Id of this request that the client wanted.
 java.lang.String getRequestURI()
          Gets the requested URI.
 java.lang.String getServletPath()
          Gets the part of the URI up to and including the servlet name.
 HttpSession getSession()
          Gets the HttpSession connected with the client sending the request.
 HttpSession getSession(boolean create)
          Gets the HttpSession connected with the client sending the request.
 boolean isRequestedSessionIdFromCookie()
          Returns whether the session id in the request was provided through a Cookie.
 boolean isRequestedSessionIdFromUrl()
          Deprecated. Use isRequestedSessionIdFromURL
 boolean isRequestedSessionIdFromURL()
          Returns whether the session id in the request was encoded in the request URI.
 boolean isRequestedSessionIdValid()
          Checks whether the session connected with the id in the request is a valid one.
 
Methods inherited from interface javax.servlet.ServletRequest
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getParameter, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getScheme, getServerName, getServerPort, setAttribute
 

Method Detail

getAuthType

public java.lang.String getAuthType()
Gets the authorization scheme of this request. This is the same as the CGI request metadata AUTH_TYPE. See also section 11 of the HTTP/1.1 specification (RFC 2068).
Returns:
Authorization scheme or null if not set
Since:
Servlet API 1.0

getCookies

public Cookie[] getCookies()
Gets all the Cookies present in the request.
Returns:
an array containing all the Cookies or an empty array if there are no cookies
Since:
Servlet API 2.0

getDateHeader

public long getDateHeader(java.lang.String name)
Converts a given header parameter name to a date in the form of the number of milliseconds since 1 january 1970 midnight GMT. If the headername doesn't exist it returns -1; If the header can not be converted to a date it throws an IllegalArgumentException.
Parameters:
name - the name of the header field (case insensitive)
Returns:
milliseconds since January 1, 1970, 00:00:00 GMT or -1 if the header does not exist.
Throws:
java.lang.IllegalArgumentException - if the value is not a date
Since:
Servlet API 1.0

getHeader

public java.lang.String getHeader(java.lang.String name)
Gets a named header. returns null if the headername doesn't exist.
Parameters:
name - the name of the header field (case insensitive)
Returns:
The value of the header or null if the header does not exist
Since:
Servlet API 1.0

getHeaderNames

public java.util.Enumeration getHeaderNames()
Gets an Enumeration with all the headernames. Note that the Servlet API 2.1 Specification says that if an implementation does not support this operation an empty enumeration should be returned, but the Servlet API documentation says that the implementation will return null.
Returns:
Enumeration of all the header names or when this operation is not supported an empty Enumeration or null.
Since:
Servlet API 1.0

getIntHeader

public int getIntHeader(java.lang.String name)
                 throws java.lang.NumberFormatException
Gets a named header and returns it in the shape of an int. returns -1 if the headername doesn't exist.
[MJW] What if the value is -1?
Parameters:
name - the name of the header field (case insensitive)
Returns:
the value of the header field or -1 if the header does not exist
Throws:
java.lang.NumberFormatException - if the headervalue can't be converted to an int.
Since:
Servlet API 1.0

getMethod

public java.lang.String getMethod()
Gets the method the client used. This is the same as the CGI request metadata REQUEST_METHOD. Possible return values are "GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "TRACE".
Returns:
The method in question
Since:
Servlet API 1.0

getPathInfo

public java.lang.String getPathInfo()
Extra path info. Everything after the actual Servlet except the query data. This is the same as the CGI request metadata PATH_INFO and identifies the source or sub-resource to be returned by the Servlet.

The function of this method could best be explained using an example. Client requests: www.foo_bar.com/servlets/myServlet/more/path?id=paul (where myServlet is a servlet)
In this case this method would return "/more/path".

[MJW] Note that the Servlet 2.1 Spec says that the path info must be URL decoded although this was not required before 2.1 and I am not sure if that is the behaviour of the CGI request metadata PATH_INFO.

Returns:
The path info or null when there is no path information.
Since:
Servlet API 1.0

getPathTranslated

public java.lang.String getPathTranslated()
The filesystem path to the path info. Does the same as getPathInfo, but translates the result to a real path. This is the same as the CGI request metadata PATH_TRANSLATED.

[MJW] Can this be different from calling ServletContext.getRealPath() on the urldecoded result of getPathInfo()?

Returns:
The filesystem path to the file indicated by the path info or null if there is no path info
Since:
Servlet API 1.0

getQueryString

public java.lang.String getQueryString()
Gets the request's query string. The query string is the part of the request that follows the '?'.
This is the same as the CGI request metadata QUERY_STRING.
Returns:
the query string or null if there is no such part
Since:
Servlet API 1.0

getRemoteUser

public java.lang.String getRemoteUser()
Gets the username of the person sending the request. This is the same as the CGI request metadata REMOTE_USER.
Returns:
User name or null if the username wasn't in the HTTP authentication.
Since:
Servlet API 1.0

getRequestedSessionId

public java.lang.String getRequestedSessionId()
Gets the session Id of this request that the client wanted. This id can differ from the id in the current session if the client recently had gotten a new session id for whatver reason.
Returns:
The requested session id
Since:
Servlet API 2.0

getRequestURI

public java.lang.String getRequestURI()
Gets the requested URI. This includes both the path to the servlet and everything after that except the '?' and the query_string.

Note that the Servlet 2.1 Spec says that the URI must be decoded before being returned, but this was not required before the Servlet 2.1 API and normally all URIs are encoded.

Returns:
The requested URI
Since:
Servlet API 1.0

getServletPath

public java.lang.String getServletPath()
Gets the part of the URI up to and including the servlet name. No path info or query string segments are included. This is the same as the CGI request metadata SCRIPT_NAME.
Since:
Servlet API 1.0

getSession

public HttpSession getSession()
Gets the HttpSession connected with the client sending the request. If the client didn't have a session connected with him then a new HttpSession will be created. To maintain a session this method must be called before the connection is flushed or closed. Same as calling getSession(true).
Returns:
The HttpSession connected with the client sending the request.
Since:
Servlet API 2.1

getSession

public HttpSession getSession(boolean create)
Gets the HttpSession connected with the client sending the request. If the client didn't have a session connected with him, and create is true then a new HttpSession will be created. If create is false then null is returned. To maintain a session this method must be called before the connection is flushed or closed.
Returns:
The HttpSession connected with the client sending the request.
Since:
Servlet API 2.0

isRequestedSessionIdValid

public boolean isRequestedSessionIdValid()
Checks whether the session connected with the id in the request is a valid one. Note that the requested session could differ from the actual session returned from getSession.
Since:
Servlet API 2.0

isRequestedSessionIdFromCookie

public boolean isRequestedSessionIdFromCookie()
Returns whether the session id in the request was provided through a Cookie.
Since:
Servlet API 2.0

isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL()
Returns whether the session id in the request was encoded in the request URI.
Since:
Servlet API 2.1

isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl()
Deprecated. Use isRequestedSessionIdFromURL
Returns whether the session id in the request was encoded in the request URI.
Since:
Servlet API 2.0