public interface ServletRequest
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
Modifier and Type | Method and Description |
---|---|
AsyncContext |
getAsyncContext() |
Object |
getAttribute(String name)
Returns the value of the named attribute as an
Object ,
or null if no attribute of the given name exists. |
Enumeration<String> |
getAttributeNames()
Returns an
Enumeration containing the
names of the attributes available to this request. |
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.
|
String |
getContentType()
Returns the MIME type of the body of the request, or
null if the type is not known. |
DispatcherType |
getDispatcherType() |
ServletInputStream |
getInputStream()
Retrieves the body of the request as binary data using
a
ServletInputStream . |
String |
getLocalAddr()
Returns the Internet Protocol (IP) address of the interface on
which the request was received.
|
Locale |
getLocale()
Returns the preferred
Locale that the client will
accept content in, based on the Accept-Language header. |
Enumeration<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. |
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.
|
String |
getParameter(String name)
Returns the value of a request parameter as a
String ,
or null if the parameter does not exist. |
Map<String,String[]> |
getParameterMap()
Returns a java.util.Map of the parameters of this request.
|
Enumeration<String> |
getParameterNames()
Returns an
Enumeration of String
objects containing the names of the parameters contained
in this request. |
String[] |
getParameterValues(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. |
String |
getProtocol()
Returns the name and version of the protocol the request uses
in the form protocol/majorVersion.minorVersion, for
example, HTTP/1.1.
|
BufferedReader |
getReader()
Retrieves the body of the request as character data using
a
BufferedReader . |
String |
getRealPath(String path)
Deprecated.
As of Version 2.1 of the Java Servlet API,
use
ServletContext.getRealPath(java.lang.String) instead. |
String |
getRemoteAddr()
Returns the Internet Protocol (IP) address of the client
or last proxy that sent the request.
|
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(String path)
Returns a
RequestDispatcher object that acts as a wrapper for
the resource located at the given path. |
String |
getScheme()
Returns the name of the scheme used to make this request,
for example,
http , https , or ftp . |
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()
Get the servlet context the request-response pair was last dispatched through.
|
boolean |
isAsyncStarted() |
boolean |
isAsyncSupported() |
boolean |
isSecure()
Returns a boolean indicating whether this request was made using a
secure channel, such as HTTPS.
|
void |
removeAttribute(String name)
Removes an attribute from this request.
|
void |
setAttribute(String name,
Object o)
Stores an attribute in this request.
|
void |
setCharacterEncoding(String env)
Overrides the name of the character encoding used in the body of this
request.
|
AsyncContext |
startAsync() |
AsyncContext |
startAsync(ServletRequest request,
ServletResponse response) |
AsyncContext getAsyncContext()
Object getAttribute(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
setAttribute(java.lang.String, java.lang.Object)
. 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 attributeObject
containing the value
of the attribute, or null
if
the attribute does not existEnumeration<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 attributesString getCharacterEncoding()
null
if the request
does not specify a character encodingString
containing the name of
the character encoding, or null
if the request does not specify a character encodingint getContentLength()
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 knownDispatcherType getDispatcherType()
ServletInputStream getInputStream() throws IOException
ServletInputStream
. Either this method or
getReader()
may be called to read the body, not both.ServletInputStream
object containing
the body of the requestIllegalStateException
- if the getReader()
method
has already been called for this requestIOException
- if an input or output exception occurredString getLocalAddr()
String
containing the
IP address on which the request was received.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 clientEnumeration<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 clientString getLocalName()
String
containing the host
name of the IP on which the request was received.int getLocalPort()
String getParameter(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 parameterString
representing the
single value of the parametergetParameterValues(java.lang.String)
Map<String,String[]> getParameterMap()
Enumeration<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 parametersString[] getParameterValues(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 requestedString
objects
containing the parameter's valuesgetParameter(java.lang.String)
String getProtocol()
SERVER_PROTOCOL
.String
containing the protocol
name and version numberBufferedReader getReader() throws 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 requestUnsupportedEncodingException
- if the character set encoding
used is not supported and the
text cannot be decodedIllegalStateException
- if getInputStream()
method
has been called on this requestIOException
- if an input or output exception occurredgetInputStream()
String getRealPath(String path)
ServletContext.getRealPath(java.lang.String)
instead.String getRemoteAddr()
REMOTE_ADDR
.String
containing the
IP address of the client that sent the requestString getRemoteHost()
REMOTE_HOST
.String
containing the fully
qualified name of the clientint getRemotePort()
RequestDispatcher getRequestDispatcher(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(java.lang.String)
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
RequestDispatcher
RequestDispatcher
,
ServletContext.getRequestDispatcher(java.lang.String)
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 requestString 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.ServletContext getServletContext()
boolean isAsyncStarted()
boolean isAsyncSupported()
boolean isSecure()
void removeAttribute(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 removevoid setAttribute(String name, 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 setCharacterEncoding(String env) throws UnsupportedEncodingException
env
- a String
containing the name of
the character encoding.UnsupportedEncodingException
- if this is not a valid encodingAsyncContext startAsync()
AsyncContext startAsync(ServletRequest request, ServletResponse response)
request
- servlet requestresponse
- servlet responseCopyright © 2013. All rights reserved.