javax.servlet
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.
Version: $Version$
Method Summary | |
---|---|
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 | 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. |
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 | 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 | getParameterMap() Returns a java.util.Map of the parameters of this request.
|
Enumeration | 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) |
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.
|
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. |
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. 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.*
.
Parameters: name a String
specifying the name of
the attribute
Returns: an Object
containing the value
of the attribute, or null
if
the attribute does not exist
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.
Returns: an Enumeration
of strings
containing the names
of the request's attributes
null
if the request
does not specify a character encoding
Returns: a String
containing the name of
the character encoding, or null
if the request does not specify a character encoding
Returns: an integer containing the length of the request body or -1 if the length is not known
null
if the type is not known. For HTTP servlets,
same as the value of the CGI variable CONTENT_TYPE.
Returns: a String
containing the name
of the MIME type of
the request, or null if the type is not known
Returns: a ServletInputStream object containing the body of the request
Throws: IllegalStateException if the ServletRequest method has already been called for this request IOException if an input or output exception occurred
Returns: a String
containing the
IP address on which the request was received.
Since: 2.4
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.
Returns: the preferred Locale
for the client
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.
Returns: an Enumeration
of preferred
Locale
objects for the client
Returns: a String
containing the host
name of the IP on which the request was received.
Since: 2.4
Returns: an integer specifying the port number
Since: 2.4
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 ServletRequest.
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 ServletRequest or ServletRequest can interfere with the execution of this method.
Parameters: name a String
specifying the
name of the parameter
Returns: a String
representing the
single value of the parameter
See Also: ServletRequest
Returns: an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.
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
.
Returns: an Enumeration
of String
objects, each String
containing
the name of a request parameter; or an
empty Enumeration
if the
request has no parameters
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.
Parameters: name a String
containing the name of
the parameter whose value is requested
Returns: an array of String
objects
containing the parameter's values
See Also: ServletRequest
SERVER_PROTOCOL
.
Returns: a String
containing the protocol
name and version number
BufferedReader
. The reader translates the character
data according to the character encoding used on the body.
Either this method or ServletRequest may be called to read the
body, not both.
Returns: a BufferedReader
containing the body of the request
Throws: UnsupportedEncodingException if the character set encoding used is not supported and the text cannot be decoded IllegalStateException if ServletRequest method has been called on this request IOException if an input or output exception occurred
See Also: ServletRequest
Deprecated: As of Version 2.1 of the Java Servlet API, use ServletContext instead.
REMOTE_ADDR
.
Returns: a String
containing the
IP address of the client that sent the request
REMOTE_HOST
.
Returns: a String
containing the fully
qualified name of the client
Returns: an integer specifying the port number
Since: 2.4
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 is that this method can take a relative path.
Parameters: path a String
specifying the pathname
to the resource. If it is relative, it must be
relative against the current servlet.
Returns: a RequestDispatcher
object
that acts as a wrapper for the resource
at the specified path, or null
if the servlet container cannot return a
RequestDispatcher
See Also: RequestDispatcher ServletContext
http
, https
, or ftp
.
Different schemes have different rules for constructing URLs,
as noted in RFC 1738.
Returns: a String
containing the name
of the scheme used to make this request
Host
header value, if any, or the resolved server name, or the server IP address.
Returns: a String
containing the name
of the server
Host
header value, if any, or the server port where the client connection
was accepted on.
Returns: an integer specifying the port number
Returns: a boolean indicating if the request was made using a secure channel
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.
Parameters: name a String
specifying
the name of the attribute to remove
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 ServletRequest.
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.
Parameters: name a String
specifying
the name of the attribute
o the Object
to be stored
Parameters: env a String
containing the name of
the character encoding.
Throws: java.io.UnsupportedEncodingException if this is not a valid encoding