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 |
---|---|
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 |
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. |
ServletInputStream |
getInputStream()
Retrieves the body of the request as binary data using
a
ServletInputStream . |
java.util.Locale |
getLocale()
Returns the preferred
Locale that the client will
accept content in, based on the Accept-Language header. |
java.util.Enumeration |
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 |
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.Enumeration |
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
that sent the request.
|
java.lang.String |
getRemoteHost()
Returns the fully qualified name of the client that sent the
request, or the IP address of the client if the name cannot be
determined.
|
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 that received the request.
|
int |
getServerPort()
Returns the port number on which this request was received.
|
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.
|
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
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 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 chararacter encoding, or null
if the request does not specify a character 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 -1 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 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.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()
SERVER_NAME
.String
containing the name
of the server to which the request was sentint getServerPort()
SERVER_PORT
.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 getReader()
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.
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 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 resourceRequestDispatcher
object
that acts as a wrapper for the resource
at the specified pathRequestDispatcher
,
ServletContext.getRequestDispatcher(java.lang.String)
java.lang.String getRealPath(java.lang.String path)
ServletContext.getRealPath(java.lang.String)
instead.Copyright © 1999-2000 The Apache Software Foundation. All Rights Reserved.