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()
Get the current AsyncContext.
|
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() |
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(java.lang.String) 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() |
boolean |
isAsyncStarted() |
boolean |
isAsyncSupported() |
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() |
AsyncContext |
startAsync(ServletRequest servletRequest,
ServletResponse servletResponse) |
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 programmatically 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 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 encodingString
containing the name of the character
encoding, or null
if the request does not specify a
character encodingvoid setCharacterEncoding(java.lang.String env) throws java.io.UnsupportedEncodingException
env
- a String
containing the name of the character
encoding.java.io.UnsupportedEncodingException
- if this is not a valid encodingint 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 knownServletInputStream 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
requestjava.lang.IllegalStateException
- if the getReader()
method has already been called
for this requestjava.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 parameterString
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 requestedString
objects containing the parameter's
valuesgetParameter(java.lang.String)
java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
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 requestjava.io.UnsupportedEncodingException
- if the character set encoding used is not supported and
the text cannot be decodedjava.lang.IllegalStateException
- if getInputStream()
method has been called on this
requestjava.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
clientvoid 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(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)
java.lang.String getRealPath(java.lang.String path)
ServletContext.getRealPath(java.lang.String)
instead.path
- The virtual path to be converted to a real pathServletContext.getRealPath(String)
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()
java.lang.IllegalStateException
- If async is not supported for this requestAsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse)
servletRequest
- The ServletRequest with which to initialise the
asynchronous contextservletResponse
- The ServletResponse with which to initialise the
asynchronous contextjava.lang.IllegalStateException
- If async is not supported for this requestboolean isAsyncStarted()
boolean isAsyncSupported()
AsyncContext getAsyncContext()
java.lang.IllegalStateException
- if the request is not in asynchronous mode
(i.e. @link #isAsyncStarted() is false
)DispatcherType getDispatcherType()
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.