| 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface ServletRequest
Defines an object to provide client request information to a servlet.  The
 servlet container creates a ServletRequest object and passes
 it as an argument to the servlet's service method.
 
A ServletRequest object provides data including
 parameter name and values, attributes, and an input stream.
 Interfaces that extend ServletRequest can provide
 additional protocol-specific data (for example, HTTP data is
 provided by HttpServletRequest.
HttpServletRequest| Method Summary | |
|---|---|
 AsyncContext | 
getAsyncContext()
Gets the AsyncContext that was created or reinitialized by the most recent invocation of startAsync() or
 startAsync(ServletRequest,ServletResponse) on this request. | 
 java.lang.Object | 
getAttribute(java.lang.String name)
Returns the value of the named attribute as an Object,
 or null if no attribute of the given name exists. | 
 java.util.Enumeration<java.lang.String> | 
getAttributeNames()
Returns an Enumeration containing the
 names of the attributes available to this request. | 
 java.lang.String | 
getCharacterEncoding()
Returns the name of the character encoding used in the body of this request.  | 
 int | 
getContentLength()
Returns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known.  | 
 java.lang.String | 
getContentType()
Returns the MIME type of the body of the request, or null if the type is not known. | 
 DispatcherType | 
getDispatcherType()
Gets the dispatcher type of this request.  | 
 ServletInputStream | 
getInputStream()
Retrieves the body of the request as binary data using a ServletInputStream. | 
 java.lang.String | 
getLocalAddr()
Returns the Internet Protocol (IP) address of the interface on which the request was received.  | 
 java.util.Locale | 
getLocale()
Returns the preferred Locale that the client will 
 accept content in, based on the Accept-Language header. | 
 java.util.Enumeration<java.util.Locale> | 
getLocales()
Returns an Enumeration of Locale objects
 indicating, in decreasing order starting with the preferred locale, the
 locales that are acceptable to the client based on the Accept-Language
 header. | 
 java.lang.String | 
getLocalName()
Returns the host name of the Internet Protocol (IP) interface on which the request was received.  | 
 int | 
getLocalPort()
Returns the Internet Protocol (IP) port number of the interface on which the request was received.  | 
 java.lang.String | 
getParameter(java.lang.String name)
Returns the value of a request parameter as a String,
 or null if the parameter does not exist. | 
 java.util.Map<java.lang.String,java.lang.String[]> | 
getParameterMap()
Returns a java.util.Map of the parameters of this request.  | 
 java.util.Enumeration<java.lang.String> | 
getParameterNames()
Returns an Enumeration of String
 objects containing the names of the parameters contained
 in this request. | 
 java.lang.String[] | 
getParameterValues(java.lang.String name)
Returns an array of String objects containing 
 all of the values the given request parameter has, or 
 null if the parameter does not exist. | 
 java.lang.String | 
getProtocol()
Returns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1.  | 
 java.io.BufferedReader | 
getReader()
Retrieves the body of the request as character data using a BufferedReader. | 
 java.lang.String | 
getRealPath(java.lang.String path)
Deprecated. As of Version 2.1 of the Java Servlet API, use ServletContext#getRealPath instead. | 
 java.lang.String | 
getRemoteAddr()
Returns the Internet Protocol (IP) address of the client or last proxy that sent the request.  | 
 java.lang.String | 
getRemoteHost()
Returns the fully qualified name of the client or the last proxy that sent the request.  | 
 int | 
getRemotePort()
Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request.  | 
 RequestDispatcher | 
getRequestDispatcher(java.lang.String path)
Returns a RequestDispatcher object that acts as a wrapper for
 the resource located at the given path. | 
 java.lang.String | 
getScheme()
Returns the name of the scheme used to make this request, for example, http, https, or ftp. | 
 java.lang.String | 
getServerName()
Returns the host name of the server to which the request was sent.  | 
 int | 
getServerPort()
Returns the port number to which the request was sent.  | 
 ServletContext | 
getServletContext()
Gets the servlet context to which this ServletRequest was last dispatched.  | 
 boolean | 
isAsyncStarted()
Checks if this request has been put into asynchronous mode.  | 
 boolean | 
isAsyncSupported()
Checks if this request supports asynchronous operation.  | 
 boolean | 
isSecure()
Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.  | 
 void | 
removeAttribute(java.lang.String name)
Removes an attribute from this request.  | 
 void | 
setAttribute(java.lang.String name,
             java.lang.Object o)
Stores an attribute in this request.  | 
 void | 
setCharacterEncoding(java.lang.String env)
Overrides the name of the character encoding used in the body of this request.  | 
 AsyncContext | 
startAsync()
Puts this request into asynchronous mode, and initializes its AsyncContext with the original (unwrapped) ServletRequest
 and ServletResponse objects. | 
 AsyncContext | 
startAsync(ServletRequest servletRequest,
           ServletResponse servletResponse)
Puts this request into asynchronous mode, and initializes its AsyncContext with the given request and response objects. | 
| Method Detail | 
|---|
java.lang.Object getAttribute(java.lang.String name)
Object,
 or null if no attribute of the given name exists. 
  Attributes can be set two ways.  The servlet container may set
 attributes to make available custom information about a request.
 For example, for requests made using HTTPS, the attribute
 javax.servlet.request.X509Certificate can be used to
 retrieve information on the certificate of the client.  Attributes
 can also be set programatically using 
 ServletRequest#setAttribute.  This allows information to be
 embedded into a request before a RequestDispatcher call.
 
Attribute names should follow the same conventions as package
 names. This specification reserves names matching java.*,
 javax.*, and sun.*.
name - a String specifying the name of 
                        the attribute
Object containing the value 
                        of the attribute, or null if
                        the attribute does not existjava.util.Enumeration<java.lang.String> getAttributeNames()
Enumeration containing the
 names of the attributes available to this request. 
 This method returns an empty Enumeration
 if the request has no attributes available to it.
Enumeration of strings 
                        containing the names 
                        of the request's attributesjava.lang.String getCharacterEncoding()
null if the request
 does not specify a character encoding
String containing the name of 
                        the character encoding, or null
                        if the request does not specify a character encoding
void setCharacterEncoding(java.lang.String env)
                          throws java.io.UnsupportedEncodingException
env - String containing the name of
                 the character encoding.
java.io.UnsupportedEncodingException - if this
                 ServletRequest is still in a state where a
                 character encoding may be set, but the specified
                 encoding is invalidint getContentLength()
java.lang.String getContentType()
null if the type is not known. For HTTP servlets, 
 same as the value of the CGI variable CONTENT_TYPE.
String containing the name 
                        of the MIME type of 
                        the request, or null if the type is not known
ServletInputStream getInputStream()
                                  throws java.io.IOException
ServletInputStream.  Either this method or 
 getReader() may be called to read the body, not both.
ServletInputStream object containing
                                the body of the request
IllegalStateException - if the getReader() method
 has already been called for this request
java.io.IOException - if an input or output exception occurredjava.lang.String getParameter(java.lang.String name)
String,
 or null if the parameter does not exist. Request parameters
 are extra information sent with the request.  For HTTP servlets,
 parameters are contained in the query string or posted form data.
 You should only use this method when you are sure the
 parameter has only one value. If the parameter might have
 more than one value, use getParameterValues(java.lang.String).
 
If you use this method with a multivalued
 parameter, the value returned is equal to the first value
 in the array returned by getParameterValues.
 
If the parameter data was sent in the request body, such as occurs
 with an HTTP POST request, then reading the body directly via getInputStream() or getReader() can interfere
 with the execution of this method.
name - a String specifying the 
                        name of the parameter
String representing the 
                        single value of the parametergetParameterValues(java.lang.String)java.util.Enumeration<java.lang.String> getParameterNames()
Enumeration of String
 objects containing the names of the parameters contained
 in this request. If the request has 
 no parameters, the method returns an 
 empty Enumeration.
Enumeration of String
                        objects, each String containing
                        the name of a request parameter; or an 
                        empty Enumeration if the
                        request has no parametersjava.lang.String[] getParameterValues(java.lang.String name)
String objects containing 
 all of the values the given request parameter has, or 
 null if the parameter does not exist.
 If the parameter has a single value, the array has a length of 1.
name - a String containing the name of 
                        the parameter whose value is requested
String objects 
                        containing the parameter's valuesgetParameter(java.lang.String)java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.
java.lang.String getProtocol()
SERVER_PROTOCOL.
String containing the protocol 
                        name and version numberjava.lang.String getScheme()
http, https, or ftp.
 Different schemes have different rules for constructing URLs,
 as noted in RFC 1738.
String containing the name 
                        of the scheme used to make this requestjava.lang.String getServerName()
Host
 header value, if any, or the resolved server name, or the server IP
 address.
String containing the name 
                        of the serverint getServerPort()
Host
 header value, if any, or the server port where the client connection
 was accepted on.
java.io.BufferedReader getReader()
                                 throws java.io.IOException
BufferedReader.  The reader translates the character
 data according to the character encoding used on the body.
 Either this method or getInputStream() may be called to read the
 body, not both.
BufferedReader
                                                containing the body of the request
java.io.UnsupportedEncodingException - if the character set encoding
                                                used is not supported and the 
                                                text cannot be decoded
IllegalStateException - if getInputStream() method
                                                has been called on this request
java.io.IOException - if an input or output exception occurredgetInputStream()java.lang.String getRemoteAddr()
REMOTE_ADDR.
String containing the 
                        IP address of the client that sent the requestjava.lang.String getRemoteHost()
REMOTE_HOST.
String containing the fully 
                        qualified name of the client
void setAttribute(java.lang.String name,
                  java.lang.Object o)
RequestDispatcher.
 Attribute names should follow the same conventions as
 package names. Names beginning with java.*,
 javax.*, and com.sun.*, are
 reserved for use by Sun Microsystems.
 If the object passed in is null, the effect is the same as
 calling removeAttribute(java.lang.String).
 
 It is warned that when the request is dispatched from the
 servlet resides in a different web application by
 RequestDispatcher, the object set by this method
 may not be correctly retrieved in the caller servlet.
name - a String specifying 
                                        the name of the attributeo - the Object to be storedvoid removeAttribute(java.lang.String name)
Attribute names should follow the same conventions as
 package names. Names beginning with java.*,
 javax.*, and com.sun.*, are
 reserved for use by Sun Microsystems.
name - a String specifying 
                                        the name of the attribute to removejava.util.Locale getLocale()
Locale that the client will 
 accept content in, based on the Accept-Language header.
 If the client request doesn't provide an Accept-Language header,
 this method returns the default locale for the server.
Locale for the clientjava.util.Enumeration<java.util.Locale> getLocales()
Enumeration of Locale objects
 indicating, in decreasing order starting with the preferred locale, the
 locales that are acceptable to the client based on the Accept-Language
 header.
 If the client request doesn't provide an Accept-Language header,
 this method returns an Enumeration containing one 
 Locale, the default locale for the server.
Enumeration of preferred 
                  Locale objects for the clientboolean isSecure()
RequestDispatcher getRequestDispatcher(java.lang.String path)
RequestDispatcher object that acts as a wrapper for
 the resource located at the given path.  
 A RequestDispatcher object can be used to forward
 a request to the resource or to include the resource in a response.
 The resource can be dynamic or static.
 The pathname specified may be relative, although it cannot extend
 outside the current servlet context.  If the path begins with 
 a "/" it is interpreted as relative to the current context root.  
 This method returns null if the servlet container
 cannot return a RequestDispatcher.
 
The difference between this method and ServletContext#getRequestDispatcher is that this method can take a
 relative path.
path - a String specifying the pathname
                  to the resource. If it is relative, it must be
                  relative against the current servlet.
RequestDispatcher object
                  that acts as a wrapper for the resource
                  at the specified path, or null
                  if the servlet container cannot return a
                  RequestDispatcherRequestDispatcher, 
ServletContext#getRequestDispatcherjava.lang.String getRealPath(java.lang.String path)
ServletContext#getRealPath instead.
int getRemotePort()
java.lang.String getLocalName()
String containing the host
                name of the IP on which the request was received.java.lang.String getLocalAddr()
String containing the
                IP address on which the request was received.int getLocalPort()
ServletContext getServletContext()
AsyncContext startAsync()
                        throws java.lang.IllegalStateException
AsyncContext with the original (unwrapped) ServletRequest
 and ServletResponse objects.
 Calling this method will cause committal of the associated
 response to be delayed until AsyncContext#complete is
 called on the returned AsyncContext, or the asynchronous
 operation has timed out.
 
Calling AsyncContext#hasOriginalRequestAndResponse() on
 the returned AsyncContext will return true. Any filters
 invoked in the outbound direction after this request was put
 into asynchronous mode may use this as an indication that any request
 and/or response wrappers that they added during their inbound
 invocation need not stay around for the duration of the asynchronous
 operation, and therefore any of their associated resources may be
 released.
 
This method clears the list of AsyncListener instances
 (if any) that were registered with the AsyncContext returned by the
 previous call to one of the startAsync methods, after calling each
 AsyncListener at its onStartAsync
 method.
 
Subsequent invocations of this method, or its overloaded variant, will return the same AsyncContext instance, reinitialized as appropriate.
IllegalStateException - if this request is within the scope of
 a filter or servlet that does not support asynchronous operations
 (that is, isAsyncSupported() returns false),
 or if this method is called again without any asynchronous dispatch
 (resulting from one of the AsyncContext#dispatch methods),
 is called outside the scope of any such dispatch, or is called again
 within the scope of the same dispatch, or if the response has
 already been closed
AsyncContext startAsync(ServletRequest servletRequest,
                        ServletResponse servletResponse)
                        throws java.lang.IllegalStateException
AsyncContext with the given request and response objects.
 The ServletRequest and ServletResponse arguments must be
 the same instances, or instances of ServletRequestWrapper and
 ServletResponseWrapper that wrap them, that were passed to the
 service method of the Servlet or the
 doFilter method of the Filter, respectively,
 in whose scope this method is being called.
 
Calling this method will cause committal of the associated
 response to be delayed until AsyncContext#complete is
 called on the returned AsyncContext, or the asynchronous
 operation has timed out.
 
Calling AsyncContext#hasOriginalRequestAndResponse() on
 the returned AsyncContext will return false,
 unless the passed in ServletRequest and ServletResponse arguments
 are the original ones or do not carry any application-provided wrappers.
 Any filters invoked in the outbound direction after this
 request was put into asynchronous mode may use this as an indication
 that some of the request and/or response wrappers that they added
 during their inbound invocation may need to stay in place for
 the duration of the asynchronous operation, and their associated
 resources may not be released.
 A ServletRequestWrapper applied during the inbound
 invocation of a filter may be released by the outbound
 invocation of the filter only if the given servletRequest,
 which is used to initialize the AsyncContext and will be returned by
 a call to AsyncContext#getRequest(), does not contain said
 ServletRequestWrapper. The same holds true for ServletResponseWrapper
 instances. 
 
This method clears the list of AsyncListener instances
 (if any) that were registered with the AsyncContext returned by the
 previous call to one of the startAsync methods, after calling each
 AsyncListener at its onStartAsync
 method.
 
Subsequent invocations of this method, or its zero-argument variant, will return the same AsyncContext instance, reinitialized as appropriate. If a call to this method is followed by a call to its zero-argument variant, the specified (and possibly wrapped) request and response objects will remain locked in on the returned AsyncContext.
servletRequest - the ServletRequest used to initialize the
 AsyncContextservletResponse - the ServletResponse used to initialize the
 AsyncContext
IllegalStateException - if this request is within the scope of
 a filter or servlet that does not support asynchronous operations
 (that is, isAsyncSupported() returns false),
 or if this method is called again without any asynchronous dispatch
 (resulting from one of the AsyncContext#dispatch methods),
 is called outside the scope of any such dispatch, or is called again
 within the scope of the same dispatch, or if the response has
 already been closedboolean isAsyncStarted()
A ServletRequest is put into asynchronous mode by calling
 startAsync() or
 startAsync(ServletRequest,ServletResponse) on it.
 
 
This method returns false if this request was
 put into asynchronous mode, but has since been dispatched using
 one of the AsyncContext#dispatch methods or released
 from asynchronous mode via a call to AsyncContext#complete.
boolean isAsyncSupported()
Asynchronous operation is disabled for this request if this request is within the scope of a filter or servlet that has not been annotated or flagged in the deployment descriptor as being able to support asynchronous handling.
AsyncContext getAsyncContext()
startAsync() or
 startAsync(ServletRequest,ServletResponse) on this request.
startAsync() or
 startAsync(ServletRequest,ServletResponse) on
 this request
IllegalStateException - if this request has not been put 
 into asynchronous mode, i.e., if neither startAsync() nor
 startAsync(ServletRequest,ServletResponse) has been calledDispatcherType getDispatcherType()
The dispatcher type of a request is used by the container to select the filters that need to be applied to the request: Only filters with matching dispatcher type and url patterns will be applied.
Allowing a filter that has been configured for multiple dispatcher types to query a request for its dispatcher type allows the filter to process the request differently depending on its dispatcher type.
The initial dispatcher type of a request is defined as
 DispatcherType.REQUEST. The dispatcher type of a request
 dispatched via RequestDispatcher#forward(ServletRequest,
 ServletResponse) or RequestDispatcher#include(ServletRequest,
 ServletResponse) is given as DispatcherType.FORWARD or
 DispatcherType.INCLUDE, respectively, while the
 dispatcher type of an asynchronous request dispatched via
 one of the AsyncContext#dispatch methods is given as
 DispatcherType.ASYNC. Finally, the dispatcher type of a
 request dispatched to an error page by the container's error handling
 mechanism is given as DispatcherType.ERROR.
DispatcherType
  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.
Generated on 10-February-2011 12:41