javax.servlet.http
Interface HttpServletRequest


public abstract interface HttpServletRequest
extends ServletRequest

Extends the ServletRequest interface to provide additional functionality for the request object that is passed to an HTTP servlet.

The servlet engine implements this interface to create HttpServletRequest objects, which pass information from the client to the service method of an HttpServlet.

Version:
$Version$
Author:
Various

Method Summary
 java.lang.String getAuthType()
          Returns the name of the authentication scheme the server uses, for example, "BASIC" or "SSL," or null if the server does not have an authentication scheme.
 Cookie[] getCookies()
          Returns an array containing all of the Cookie objects the browser sent with this request.
 long getDateHeader(java.lang.String name)
          Returns the value of the specified request header as a long value that represents a Date object.
 java.lang.String getHeader(java.lang.String name)
          Returns the value of the specified request header as a String.
 java.util.Enumeration getHeaderNames()
          Returns an enumeration of all the header names this request contains.
 int getIntHeader(java.lang.String name)
          Returns the value of the specified request header as an integer.
 java.lang.String getMethod()
          Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
 java.lang.String getPathInfo()
          Returns any extra path information associated with the URL the client sent when it made this request.
 java.lang.String getPathTranslated()
          Returns any extra path information after the servlet name but before the query string, and translates it to a real path.
 java.lang.String getQueryString()
          Returns the query string that is contained in the request URL after the path.
 java.lang.String getRemoteUser()
          Returns the name of the user making this request, if the user has logged in using HTTP authentication.
 java.lang.String getRequestedSessionId()
          Returns the session ID specified by the client.
 java.lang.String getRequestURI()
          Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request.
 java.lang.String getServletPath()
          Returns the part of this request's URL that calls the servlet.
 HttpSession getSession()
          Returns the current session associated with this request, or if the request does not have a session, creates one.
 HttpSession getSession(boolean create)
          Returns the current HttpSession associated with this request or, if necessary, creates a new session for the request.
 boolean isRequestedSessionIdFromCookie()
          Checks whether the session ID this request submitted came in as a cookie, rather than from the getSession(boolean) method.
 boolean isRequestedSessionIdFromUrl()
          Deprecated. As of Version 2.1 of the Java Servlet API, use isRequestedSessionIdFromURL() instead.
 boolean isRequestedSessionIdFromURL()
          Checks whether the session ID this request submitted came in as part of the request URL, rather than from the getSession(boolean) method.
 boolean isRequestedSessionIdValid()
          Checks whether this request has a valid session in the current session context (which is a HttpSessionContext).
 
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()
Returns the name of the authentication scheme the server uses, for example, "BASIC" or "SSL," or null if the server does not have an authentication scheme.

The authentication scheme provides a challenge-response model in which the server challenges the client, and the client provides authentication information. Same as the value of the CGI variable AUTH_TYPE.

Returns:
a String specifying the name of the authentication scheme, or null if the server does not have an authentication scheme

getCookies

public Cookie[] getCookies()
Returns an array containing all of the Cookie objects the browser sent with this request. This method returns null if the browser did not send any cookies.
Returns:
an array of all the Cookies included with this request, or null if the request has no cookies

getDateHeader

public long getDateHeader(java.lang.String name)
Returns the value of the specified request header as a long value that represents a Date object. Use this method with headers that contain dates, such as If-Modified-Since.

The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.

If the request did not have a header of the specified name, this method returns -1. If the header can't be converted to a date, the method returns an IllegalArgumentException.

Parameters:
name - a String specifying the name of the header
Returns:
a long value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the reqest

getHeader

public java.lang.String getHeader(java.lang.String name)
Returns the value of the specified request header as a String. If the named header wasn't sent with the request, this method returns null. The header name is case insensitive. You can use this method with any request header.
Parameters:
name - a String specifying the header name
Returns:
a String containing the value of the requested header, or null if the request does not have a header of that name

getHeaderNames

public java.util.Enumeration getHeaderNames()
Returns an enumeration of all the header names this request contains. If the request has no headers, this method returns an empty enumeration.

Some servlet engines do not allow do not allow servlets to access headers using this method, in which case this method returns null

Returns:
an enumeration of all the header names sent with this request; if the request has no headers, an empty enumeration; if the servlet engine does not allow servlets to use this method, null

getIntHeader

public int getIntHeader(java.lang.String name)
Returns the value of the specified request header as an integer. If the request does not have a header of the specified name, this method returns -1. If the header cannot be converted to an integer, this method throws a NumberFormatException.

The header name is case insensitive.

Parameters:
name - a String specifying the name of a request header
Returns:
an integer expressing the value of the request header or -1 if the request doesn't have a header of this name

getMethod

public java.lang.String getMethod()
Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. The returned String is the same as the value of the CGI variable REQUEST_METHOD.
Returns:
a String specifying the name of the method with which this request was made

getPathInfo

public java.lang.String getPathInfo()
Returns any extra path information associated with the URL the client sent when it made this request. The extra path information follows the servlet path (the URI of the URL) but precedes the query string. This method returns null if there was no extra path information.

The information this method returns is the same as the value of the CGI variable PATH_INFO.

Returns:
a String specifying extra path information that comes after the servlet path but before the query string in the request URL; or null if the URL does not have any extra path information

getPathTranslated

public java.lang.String getPathTranslated()
Returns any extra path information after the servlet name but before the query string, and translates it to a real path. Same as the value of the CGI variable PATH_TRANSLATED.

If the URL does not have any extra path information, this method returns null.

Returns:
a String specifying the real path, or null if the URL does not have any extra path information

getQueryString

public java.lang.String getQueryString()
Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. Same as the value of the CGI variable QUERY_STRING.
Returns:
a String containing the query string or null if the URL contains no query string

getRemoteUser

public java.lang.String getRemoteUser()
Returns the name of the user making this request, if the user has logged in using HTTP authentication. This method returns null if the user login is not authenticated. Whether the user name is sent with each subsequent request depends on the browser. Same as the value of the CGI variable REMOTE_USER.
Returns:
a String specifying the name of the user making this request, or null

getRequestedSessionId

public java.lang.String getRequestedSessionId()
Returns the session ID specified by the client. This may not be the same as the ID of the actual session in use. For example, if the request specified an old (expired) session ID and the server has started a new session, this method gets a new session with a new ID. If the request did not specify a session ID, this method returns null.
Returns:
a String specifying the session ID, or null if the request did not specify a session ID
See Also:
isRequestedSessionIdValid()

getRequestURI

public java.lang.String getRequestURI()
Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request. For example:
First line of HTTP request Returned Value
POST /some/path.html HTTP/1.1/some/path.html
GET http://foo.bar/a.html HTTP/1.0 http://foo.bar/a.html
HEAD /xyz?a=b HTTP/1.1/xyz

To reconstruct an URL with a scheme and host, use HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest), which returns a StringBuffer.

Returns:
a String containing the part of the URL from the protocol name up to the query string
See Also:
HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest)

getServletPath

public java.lang.String getServletPath()
Returns the part of this request's URL that calls the servlet. This includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string. Same as the value of the CGI variable SCRIPT_NAME.
Returns:
a String containing the name or path of the servlet being called, as it is specified in the request URL

getSession

public HttpSession getSession(boolean create)
Returns the current HttpSession associated with this request or, if necessary, creates a new session for the request. Use true for create to create a new session, or false to return the current HttpSession.

If create is false and the request has no valid HttpSession, this method returns null.

To make sure the session is properly maintained, you must call this method at least once before you write any output to the response. Newly created sessions (that is, sessions for which HttpSession.isNew returns true) do not have any application-specific state.

Parameters:
true - to create a new session for this request; false to return the current session
Returns:
the HttpSession associated with this request or null if create is false and the request has no valid session

getSession

public HttpSession getSession()
Returns the current session associated with this request, or if the request does not have a session, creates one.
Returns:
the HttpSession associated with this request

isRequestedSessionIdValid

public boolean isRequestedSessionIdValid()
Checks whether this request has a valid session in the current session context (which is a HttpSessionContext). If the session is not valid, the getSession(boolean) method never returns it.
Returns:
true if this request has a valid session in the current session context; otherwise, false
See Also:
getRequestedSessionId(), getSession(boolean), HttpSessionContext

isRequestedSessionIdFromCookie

public boolean isRequestedSessionIdFromCookie()
Checks whether the session ID this request submitted came in as a cookie, rather than from the getSession(boolean) method.
Returns:
true if the session ID came in as a cookie; otherwise, false
See Also:
getSession(boolean)

isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL()
Checks whether the session ID this request submitted came in as part of the request URL, rather than from the getSession(boolean) method.
Returns:
true if the session ID came in as part of an URL; otherwise, false
See Also:
getSession(boolean)

isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl()
Deprecated. As of Version 2.1 of the Java Servlet API, use isRequestedSessionIdFromURL() instead.