public class Request extends Object implements HttpServletRequest
Modifier and Type | Field and Description |
---|---|
protected Boolean |
asyncSupported |
protected String |
authType
Authentication type.
|
protected static int |
CACHED_POST_LEN
Post data buffer.
|
protected Connector |
connector
Associated Catalina connector.
|
protected Cookie[] |
cookies
The set of cookies associated with this Request.
|
protected boolean |
cookiesConverted
Cookie parsed flag.
|
protected boolean |
cookiesParsed
Cookie headers parsed flag.
|
protected Request |
coyoteRequest
Coyote request.
|
protected static Locale |
defaultLocale
The default Locale if none are specified.
|
protected RequestFacade |
facade
The facade associated with this request.
|
protected FilterChain |
filterChain
Filter chain associated with the request.
|
protected SimpleDateFormat[] |
formats
The set of SimpleDateFormat formats to use in getDateHeader().
|
protected static TimeZone |
GMT_ZONE |
protected InputBuffer |
inputBuffer
The associated input buffer.
|
protected CoyoteInputStream |
inputStream
ServletInputStream.
|
protected DispatcherType |
internalDispatcherType
The current dispatcher type.
|
protected String |
localAddr
Local address
|
protected ArrayList<Locale> |
locales
The preferred Locales associated with this Request.
|
protected boolean |
localesParsed
Parse locales.
|
protected String |
localName
Local address
|
protected int |
localPort
Local port
|
protected MappingData |
mappingData
Mapping data.
|
protected ParameterMap<String,String[]> |
parameterMap
Hash map used in the getParametersMap method.
|
protected boolean |
parametersParsed
Request parameters parsed flag.
|
protected Collection<Part> |
parts
The parts, if any, uploaded with this request.
|
protected Exception |
partsParseException
The exception thrown, if any when parsing the parts.
|
protected byte[] |
postData |
protected CoyoteReader |
reader
Reader.
|
protected String |
remoteAddr
Remote address.
|
protected String |
remoteHost
Remote host.
|
protected int |
remotePort
Remote port
|
protected Object |
requestDispatcherPath
The current request dispatcher path.
|
protected boolean |
requestedSessionCookie
Was the requested session ID received in a cookie?
|
protected String |
requestedSessionId
The requested session ID (if any) for this request.
|
protected boolean |
requestedSessionSSL
Was the requested session ID obtained from the SSL session?
|
protected boolean |
requestedSessionURL
Was the requested session ID received in a URL?
|
protected Response |
response
The response with which this request is associated.
|
protected boolean |
secure
Secure flag.
|
protected Session |
session
The currently active session for this request.
|
protected static StringManager |
sm
The string manager for this package.
|
protected boolean |
sslAttributesParsed
Flag that indicates if SSL attributes have been parsed to improve
performance for applications (usually frameworks) that make multiple
calls to
getAttributeNames() . |
protected Subject |
subject
The Subject associated with the current AccessControlContext
|
protected B2CConverter |
URIConverter
URI byte to char converter.
|
protected Principal |
userPrincipal
User principal.
|
protected boolean |
usingInputStream
Using stream flag.
|
protected boolean |
usingReader
Using writer flag.
|
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
Constructor and Description |
---|
Request() |
Modifier and Type | Method and Description |
---|---|
void |
addCookie(Cookie cookie)
Add a Cookie to the set of Cookies associated with this Request.
|
void |
addLocale(Locale locale)
Add a Locale to the set of preferred Locales for this Request.
|
protected void |
addPathParameter(String name,
String value) |
boolean |
authenticate(HttpServletResponse response)
Triggers the same authentication process as would be triggered if the
request is for a resource that is protected by a security constraint.
|
String |
changeSessionId()
Changes the session ID of the session associated with this request.
|
void |
changeSessionId(String newSessionId)
Change the ID of the session that this request is associated with.
|
protected void |
checkSwallowInput()
Check the configuration for aborted uploads and if configured to do so,
disable the swallowing of any remaining input and close the connection
once the response has been written.
|
void |
clearCookies()
Clear the collection of Cookies associated with this Request.
|
void |
clearLocales()
Clear the collection of Locales associated with this Request.
|
protected void |
convertCookies()
Converts the parsed cookies (parsing the Cookie headers first if they
have not been parsed) into Cookie objects.
|
ServletInputStream |
createInputStream()
Create and return a ServletInputStream to read the content
associated with this Request.
|
protected Session |
doGetSession(boolean create) |
void |
finishRequest()
Perform whatever actions are required to flush and close the input
stream or reader, in a single operation.
|
AsyncContext |
getAsyncContext()
Get the current AsyncContext.
|
AsyncContextImpl |
getAsyncContextInternal() |
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()
Return the names of all request attributes for this Request, or an
empty
Enumeration if there are none. |
String |
getAuthType()
Return the authentication type used for this Request.
|
String |
getCharacterEncoding()
Returns the name of the character encoding used in the body of this
request.
|
Connector |
getConnector() |
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.
|
long |
getContentLengthLong()
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. |
Context |
getContext()
Return the Context within which this Request is being processed.
|
String |
getContextPath()
Return the portion of the request URI used to select the Context
of the Request.
|
Cookie[] |
getCookies()
Return the set of Cookies received with this Request.
|
Request |
getCoyoteRequest()
Get the Coyote request.
|
long |
getDateHeader(String name)
Return the value of the specified date header, if any; otherwise
return -1.
|
String |
getDecodedRequestURI()
Get the decoded request URI.
|
MessageBytes |
getDecodedRequestURIMB()
Get the decoded request URI.
|
DispatcherType |
getDispatcherType() |
FilterChain |
getFilterChain()
Get filter chain associated with the request.
|
String |
getHeader(String name)
Return the first value of the specified header, if any; otherwise,
return
null |
Enumeration<String> |
getHeaderNames()
Returns an enumeration of all the header names this request contains.
|
Enumeration<String> |
getHeaders(String name)
Return all of the values of the specified header, if any; otherwise,
return an empty enumeration.
|
Host |
getHost() |
ServletInputStream |
getInputStream()
Retrieves the body of the request as binary data using a
ServletInputStream . |
int |
getIntHeader(String name)
Return the value of the specified header as an integer, or -1 if there
is no such header for this request.
|
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.
|
Mapping |
getMapping() |
MappingData |
getMappingData() |
String |
getMethod()
Returns the name of the HTTP method with which this request was made, for
example, GET, POST, or PUT.
|
Object |
getNote(String name) |
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
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. |
Part |
getPart(String name)
Gets the named Part or null if the Part does not exist.
|
Collection<Part> |
getParts()
Return a collection of all uploaded Parts.
|
String |
getPathInfo()
Returns any extra path information associated with the URL the client
sent when it made this request.
|
protected String |
getPathParameter(String name) |
String |
getPathTranslated()
Returns any extra path information after the servlet name but before the
query string, and translates it to a real path.
|
Principal |
getPrincipal() |
String |
getProtocol()
Returns the name and version of the protocol the request uses in the form
protocol/majorVersion.minorVersion, for example, HTTP/1.1.
|
PushBuilder |
getPushBuilder()
Obtain a builder for generating push requests.
|
String |
getQueryString()
Returns the query string that is contained in the request URL after the
path.
|
BufferedReader |
getReader()
Read the Reader wrapping the input stream for this Request.
|
String |
getRealPath(String path)
Deprecated.
As of version 2.1 of the Java Servlet API, use
ServletContext.getRealPath() . |
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.
|
String |
getRemoteUser()
Returns the login of the user making this request, if the user has been
authenticated, or
null if the user has not been
authenticated. |
HttpServletRequest |
getRequest() |
RequestDispatcher |
getRequestDispatcher(String path)
Returns a
RequestDispatcher object that acts as a wrapper for the
resource located at the given path. |
String |
getRequestedSessionId()
Returns the session ID specified by the client.
|
MessageBytes |
getRequestPathMB()
Get the request path.
|
String |
getRequestURI()
Returns the part of this request's URL from the protocol name up to the
query string in the first line of the HTTP request.
|
StringBuffer |
getRequestURL()
Reconstructs the URL the client used to make the request.
|
Response |
getResponse() |
String |
getScheme()
Returns the name of the scheme used to make this request, for example,
http , https , or ftp . |
ServerCookies |
getServerCookies()
Return the server representation of the cookies associated with this
request.
|
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() |
String |
getServletPath()
Returns the part of this request's URL that calls the servlet.
|
HttpSession |
getSession()
Returns the current session associated with this request, or if the
request does not have a session, creates one.
|
HttpSession |
getSession(boolean create)
Returns the current
HttpSession associated with this request
or, if there is no current session and create is true,
returns a new session. |
Session |
getSessionInternal() |
Session |
getSessionInternal(boolean create) |
InputStream |
getStream() |
protected B2CConverter |
getURIConverter() |
Principal |
getUserPrincipal()
Returns a
java.security.Principal object containing the name
of the current authenticated user. |
Wrapper |
getWrapper() |
boolean |
isAsync() |
boolean |
isAsyncCompleting() |
boolean |
isAsyncDispatching() |
boolean |
isAsyncStarted() |
boolean |
isAsyncSupported() |
boolean |
isFinished() |
boolean |
isParametersParsed() |
boolean |
isPushSupported()
Does the current request allow push requests.
|
boolean |
isRequestedSessionIdFromCookie()
Checks whether the requested session ID came in as a cookie.
|
boolean |
isRequestedSessionIdFromUrl()
Deprecated.
As of Version 2.1 of the Java Servlet API, use
isRequestedSessionIdFromURL() instead. |
boolean |
isRequestedSessionIdFromURL()
Checks whether the requested session ID came in as part of the request
URL.
|
boolean |
isRequestedSessionIdValid()
Checks whether the requested session ID is still valid.
|
boolean |
isSecure()
Returns a boolean indicating whether this request was made using a secure
channel, such as HTTPS.
|
boolean |
isUserInRole(String role)
Returns a boolean indicating whether the authenticated user is included
in the specified logical "role".
|
void |
login(String username,
String password)
Authenticate the provided user name and password and then associated the
authenticated user with the request.
|
void |
logout()
Removes any authenticated user from the request.
|
protected void |
parseCookies()
Parse cookies.
|
protected void |
parseLocales()
Parse request locales.
|
protected void |
parseLocalesHeader(String value,
TreeMap<Double,ArrayList<Locale>> locales)
Parse accept-language header value.
|
protected void |
parseParameters()
Parse request parameters.
|
protected byte[] |
readChunkedPostBody()
Read chunked post body.
|
protected int |
readPostBody(byte[] body,
int len)
Read post body in an array.
|
void |
recycle()
Release all object references, and initialize instance variables, in
preparation for reuse of this object.
|
protected void |
recycleCookieInfo(boolean recycleCoyote) |
protected void |
recycleSessionInfo() |
void |
removeAttribute(String name)
Remove the specified request attribute if it exists.
|
void |
removeNote(String name)
Remove any object bound to the specified name in the internal notes
for this request.
|
void |
setAsyncSupported(boolean asyncSupported) |
void |
setAttribute(String name,
Object value)
Set the specified request attribute to the specified value.
|
void |
setAuthType(String type)
Set the authentication type used for this request, if any; otherwise
set the type to
null . |
void |
setCharacterEncoding(String enc)
Overrides the name of the character encoding used in the body of
this request.
|
void |
setConnector(Connector connector)
Set the Connector through which this Request was received.
|
void |
setContentType(String contentType)
Set the content type for this Request.
|
void |
setContext(Context context)
Deprecated.
Use setters on
MappingData object.
Depending on use case, you may need to update other
MappingData fields as well, such as
contextSlashCount and host . |
void |
setCoyoteRequest(Request coyoteRequest)
Set the Coyote request.
|
void |
setFilterChain(FilterChain filterChain)
Set filter chain associated with the request.
|
void |
setLocalPort(int port)
Set the port number of the server to process this request.
|
void |
setNote(String name,
Object value)
Bind an object to a specified name in the internal notes associated
with this request, replacing any existing binding for this name.
|
void |
setPathInfo(String path)
Set the path information for this Request.
|
void |
setRemoteAddr(String remoteAddr)
Set the IP address of the remote client associated with this Request.
|
void |
setRemoteHost(String remoteHost)
Set the fully qualified name of the remote client associated with this
Request.
|
void |
setRequest(HttpServletRequest applicationRequest)
Set a wrapped HttpServletRequest to pass to the application.
|
void |
setRequestedSessionCookie(boolean flag)
Set a flag indicating whether or not the requested session ID for this
request came in through a cookie.
|
void |
setRequestedSessionId(String id)
Set the requested session ID for this request.
|
void |
setRequestedSessionSSL(boolean flag)
Set a flag indicating whether or not the requested session ID for this
request came in through SSL.
|
void |
setRequestedSessionURL(boolean flag)
Set a flag indicating whether or not the requested session ID for this
request came in through a URL.
|
void |
setResponse(Response response)
Set the Response with which this Request is associated.
|
void |
setSecure(boolean secure)
Set the value to be returned by
isSecure()
for this Request. |
void |
setServerPort(int port)
Set the port number of the server to process this request.
|
protected void |
setURIConverter(B2CConverter URIConverter)
Set the URI converter.
|
void |
setUserPrincipal(Principal principal)
Set the Principal who has been authenticated for this Request.
|
void |
setWrapper(Wrapper wrapper)
Deprecated.
Use setters on
MappingData object.
Depending on use case, you may need to update other
MappingData fields as well, such as context
and contextSlashCount . |
AsyncContext |
startAsync() |
AsyncContext |
startAsync(ServletRequest request,
ServletResponse response) |
protected String |
unescape(String s) |
<T extends HttpUpgradeHandler> |
upgrade(Class<T> httpUpgradeHandlerClass)
Start the HTTP upgrade process and pass the connection to the provided
protocol handler once the current request/response pair has completed
processing.
|
protected Request coyoteRequest
protected static final TimeZone GMT_ZONE
protected static final StringManager sm
protected Cookie[] cookies
protected final SimpleDateFormat[] formats
protected static final Locale defaultLocale
protected boolean sslAttributesParsed
getAttributeNames()
.protected final ArrayList<Locale> locales
protected String authType
protected DispatcherType internalDispatcherType
protected final InputBuffer inputBuffer
protected CoyoteInputStream inputStream
protected CoyoteReader reader
protected boolean usingInputStream
protected boolean usingReader
protected Principal userPrincipal
protected boolean parametersParsed
protected boolean cookiesParsed
protected boolean cookiesConverted
protected boolean secure
protected transient Subject subject
protected static final int CACHED_POST_LEN
protected byte[] postData
protected ParameterMap<String,String[]> parameterMap
protected Collection<Part> parts
protected Exception partsParseException
protected Session session
protected Object requestDispatcherPath
protected boolean requestedSessionCookie
protected String requestedSessionId
protected boolean requestedSessionURL
protected boolean requestedSessionSSL
protected boolean localesParsed
protected int localPort
protected String remoteAddr
protected String remoteHost
protected int remotePort
protected String localAddr
protected String localName
protected Boolean asyncSupported
protected Connector connector
protected FilterChain filterChain
protected final MappingData mappingData
protected RequestFacade facade
protected Response response
protected B2CConverter URIConverter
public void setCoyoteRequest(Request coyoteRequest)
coyoteRequest
- The Coyote requestpublic Request getCoyoteRequest()
public void setAsyncSupported(boolean asyncSupported)
public void recycle()
protected void recycleSessionInfo()
protected void recycleCookieInfo(boolean recycleCoyote)
public Connector getConnector()
public void setConnector(Connector connector)
connector
- The new connectorpublic Context getContext()
This is available as soon as the appropriate Context is identified.
Note that availability of a Context allows getContextPath()
to return a value, and thus enables parsing of the request URI.
@Deprecated public void setContext(Context context)
MappingData
object.
Depending on use case, you may need to update other
MappingData
fields as well, such as
contextSlashCount
and host
.context
- The newly associated Contextpublic FilterChain getFilterChain()
public void setFilterChain(FilterChain filterChain)
filterChain
- new filter chainpublic Host getHost()
public MappingData getMappingData()
public HttpServletRequest getRequest()
ServletRequest
for which this object
is the facade. This method must be implemented by a subclass.public void setRequest(HttpServletRequest applicationRequest)
getRequest()
, wrap it and then call this method with the
wrapped request.applicationRequest
- The wrapped request to pass to the applicationpublic Response getResponse()
public void setResponse(Response response)
response
- The new associated responsepublic InputStream getStream()
protected B2CConverter getURIConverter()
protected void setURIConverter(B2CConverter URIConverter)
URIConverter
- the new URI converterpublic Wrapper getWrapper()
@Deprecated public void setWrapper(Wrapper wrapper)
MappingData
object.
Depending on use case, you may need to update other
MappingData
fields as well, such as context
and contextSlashCount
.wrapper
- The newly associated Wrapperpublic ServletInputStream createInputStream() throws IOException
IOException
- if an input/output error occurspublic void finishRequest() throws IOException
IOException
- if an input/output error occurspublic Object getNote(String name)
name
- Name of the note to be returnednull
if no such binding exists.public void removeNote(String name)
name
- Name of the note to be removedpublic void setLocalPort(int port)
port
- The server portpublic void setNote(String name, Object value)
name
- Name to which the object should be boundvalue
- Object to be bound to the specified namepublic void setRemoteAddr(String remoteAddr)
remoteAddr
- The remote IP addresspublic void setRemoteHost(String remoteHost)
remoteHost
- The remote host namepublic void setSecure(boolean secure)
isSecure()
for this Request.secure
- The new isSecure valuepublic void setServerPort(int port)
port
- The server portpublic Object getAttribute(String name)
javax.servlet.ServletRequest
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(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.
Names beginning with java.*
and javax.*
are
reserved for use by the Servlet specification. Names beginning with
sun.*
, com.sun.*
, oracle.*
and
com.oracle.*
) are reserved for use by Oracle Corporation.
getAttribute
in interface ServletRequest
name
- Name of the request attribute to returnnull
.public long getContentLengthLong()
javax.servlet.ServletRequest
getContentLengthLong
in interface ServletRequest
public Enumeration<String> getAttributeNames()
Enumeration
if there are none. Note that the attribute
names returned will only be those for the attributes set via
setAttribute(String, Object)
. Tomcat internal attributes will
not be included although they are accessible via
getAttribute(String)
. The Tomcat internal attributes include:
Globals.DISPATCHER_TYPE_ATTR
Globals.DISPATCHER_REQUEST_PATH_ATTR
Globals.ASYNC_SUPPORTED_ATTR
Globals.CERTIFICATES_ATTR
(SSL connections only)Globals.CIPHER_SUITE_ATTR
(SSL connections only)Globals.KEY_SIZE_ATTR
(SSL connections only)Globals.SSL_SESSION_ID_ATTR
(SSL connections only)Globals.SSL_SESSION_MGR_ATTR
(SSL connections only)Globals.PARAMETER_PARSE_FAILED_ATTR
getAttributeNames
in interface ServletRequest
public String getCharacterEncoding()
javax.servlet.ServletRequest
null
if the request does not
specify a character encodinggetCharacterEncoding
in interface ServletRequest
public int getContentLength()
javax.servlet.ServletRequest
getContentLength
in interface ServletRequest
public String getContentType()
javax.servlet.ServletRequest
null
if
the type is not known. For HTTP servlets, same as the value of the CGI
variable CONTENT_TYPE.getContentType
in interface ServletRequest
public void setContentType(String contentType)
contentType
- The content typepublic ServletInputStream getInputStream() throws IOException
javax.servlet.ServletRequest
ServletInputStream
. Either this method or ServletRequest.getReader()
may
be called to read the body, not both.getInputStream
in interface ServletRequest
createInputStream()
.IllegalStateException
- if getReader()
has
already been called for this requestIOException
- if an input/output error occurspublic Locale getLocale()
javax.servlet.ServletRequest
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.getLocale
in interface ServletRequest
Accept-Language
header
that was encountered. If the request did not specify a preferred
language, the server's default Locale is returned.public Enumeration<Locale> getLocales()
javax.servlet.ServletRequest
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.getLocales
in interface ServletRequest
Accept-Language
headers that were encountered. If the request did not specify a
preferred language, the server's default Locale is returned.public String getParameter(String name)
javax.servlet.ServletRequest
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.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
ServletRequest.getInputStream()
or ServletRequest.getReader()
can interfere with the
execution of this method.
getParameter
in interface ServletRequest
name
- Name of the desired request parameternull
. If there is more than one value defined,
return only the first one.ServletRequest.getParameterValues(java.lang.String)
public Map<String,String[]> getParameterMap()
Map
of the parameters of this request.
Request parameters are extra information sent with the request.
For HTTP servlets, parameters are contained in the query string
or posted form data.getParameterMap
in interface ServletRequest
Map
containing parameter names as keys
and parameter values as map values.public Enumeration<String> getParameterNames()
javax.servlet.ServletRequest
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
.getParameterNames
in interface ServletRequest
public String[] getParameterValues(String name)
javax.servlet.ServletRequest
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.
getParameterValues
in interface ServletRequest
name
- Name of the desired request parameternull
.ServletRequest.getParameter(java.lang.String)
public String getProtocol()
javax.servlet.ServletRequest
SERVER_PROTOCOL
.getProtocol
in interface ServletRequest
public BufferedReader getReader() throws IOException
BufferedReader
around the
servlet input stream returned by createInputStream()
.getReader
in interface ServletRequest
IllegalStateException
- if getInputStream()
has already been called for this requestIOException
- if an input/output error occursServletRequest.getInputStream()
@Deprecated public String getRealPath(String path)
ServletContext.getRealPath()
.getRealPath
in interface ServletRequest
path
- Path to be translatedpublic String getRemoteAddr()
javax.servlet.ServletRequest
REMOTE_ADDR
.getRemoteAddr
in interface ServletRequest
public String getRemoteHost()
javax.servlet.ServletRequest
REMOTE_HOST
.getRemoteHost
in interface ServletRequest
public int getRemotePort()
javax.servlet.ServletRequest
getRemotePort
in interface ServletRequest
public String getLocalName()
javax.servlet.ServletRequest
getLocalName
in interface ServletRequest
public String getLocalAddr()
javax.servlet.ServletRequest
getLocalAddr
in interface ServletRequest
public int getLocalPort()
javax.servlet.ServletRequest
getLocalPort
in interface ServletRequest
public RequestDispatcher getRequestDispatcher(String path)
javax.servlet.ServletRequest
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.
getRequestDispatcher
in interface ServletRequest
path
- Path of the resource to be wrappedRequestDispatcher
,
ServletContext.getRequestDispatcher(java.lang.String)
public String getScheme()
javax.servlet.ServletRequest
http
, https
, or ftp
. Different
schemes have different rules for constructing URLs, as noted in RFC 1738.getScheme
in interface ServletRequest
public String getServerName()
javax.servlet.ServletRequest
Host
header value,
if any, or the resolved server name, or the server IP address.getServerName
in interface ServletRequest
public int getServerPort()
javax.servlet.ServletRequest
Host
header value, if any, or the
server port where the client connection was accepted on.getServerPort
in interface ServletRequest
public boolean isSecure()
javax.servlet.ServletRequest
isSecure
in interface ServletRequest
true
if this request was received on a secure connection.public void removeAttribute(String name)
removeAttribute
in interface ServletRequest
name
- Name of the request attribute to removepublic void setAttribute(String name, Object value)
setAttribute
in interface ServletRequest
name
- Name of the request attribute to setvalue
- The associated valuepublic void setCharacterEncoding(String enc) throws UnsupportedEncodingException
getReader()
.setCharacterEncoding
in interface ServletRequest
enc
- The character encoding to be usedUnsupportedEncodingException
- if the specified encoding
is not supportedpublic ServletContext getServletContext()
getServletContext
in interface ServletRequest
public AsyncContext startAsync()
startAsync
in interface ServletRequest
public AsyncContext startAsync(ServletRequest request, ServletResponse response)
startAsync
in interface ServletRequest
request
- The ServletRequest with which to initialise the
asynchronous contextresponse
- The ServletResponse with which to initialise the
asynchronous contextpublic boolean isAsyncStarted()
isAsyncStarted
in interface ServletRequest
public boolean isAsyncDispatching()
public boolean isAsyncCompleting()
public boolean isAsync()
public boolean isAsyncSupported()
isAsyncSupported
in interface ServletRequest
public AsyncContext getAsyncContext()
javax.servlet.ServletRequest
getAsyncContext
in interface ServletRequest
public AsyncContextImpl getAsyncContextInternal()
public DispatcherType getDispatcherType()
getDispatcherType
in interface ServletRequest
public void addCookie(Cookie cookie)
cookie
- The new cookiepublic void addLocale(Locale locale)
locale
- The new preferred Localepublic void clearCookies()
public void clearLocales()
public void setAuthType(String type)
null
. Typical values are "BASIC",
"DIGEST", or "SSL".type
- The authentication type usedpublic void setPathInfo(String path)
path
- The path informationpublic void setRequestedSessionCookie(boolean flag)
flag
- The new flagpublic void setRequestedSessionId(String id)
id
- The new session idpublic void setRequestedSessionURL(boolean flag)
flag
- The new flagpublic void setRequestedSessionSSL(boolean flag)
flag
- The new flagpublic String getDecodedRequestURI()
public MessageBytes getDecodedRequestURIMB()
public void setUserPrincipal(Principal principal)
getRemoteUser()
method.principal
- The user Principalpublic boolean isPushSupported()
true
only if the underlying protocol supports server push and if pushes
are permitted from the current request.isPushSupported
in interface HttpServletRequest
true
if server push is supported for the current request
otherwise false
public PushBuilder getPushBuilder()
PushBuilder
documents how this request will be used as the basis for a push request.
Each call to this method will return a new instance, independent of any
previous instance obtained.getPushBuilder
in interface HttpServletRequest
public <T extends HttpUpgradeHandler> T upgrade(Class<T> httpUpgradeHandlerClass) throws IOException, ServletException
HttpServletResponse.SC_SWITCHING_PROTOCOLS
and flushes the response.
Protocol specific headers must have already been set before this method
is called.upgrade
in interface HttpServletRequest
T
- The type of the upgrade handlerhttpUpgradeHandlerClass
- The class that implements the upgrade
handlerIOException
- if an I/O error occurred during the upgradeServletException
- if the given httpUpgradeHandlerClass fails to be instantiatedpublic String getAuthType()
getAuthType
in interface HttpServletRequest
null
if the request was not authenticated.public String getContextPath()
getContextPath
in interface HttpServletRequest
String
specifying the portion of the request URI
that indicates the context of the requestpublic Cookie[] getCookies()
getCookies
in interface HttpServletRequest
public ServerCookies getServerCookies()
public long getDateHeader(String name)
getDateHeader
in interface HttpServletRequest
name
- Name of the requested date headerIllegalArgumentException
- if the specified header value
cannot be converted to a datepublic String getHeader(String name)
null
getHeader
in interface HttpServletRequest
name
- Name of the requested headerpublic Enumeration<String> getHeaders(String name)
getHeaders
in interface HttpServletRequest
name
- Name of the requested headerpublic Enumeration<String> getHeaderNames()
javax.servlet.http.HttpServletRequest
Some servlet containers do not allow servlets to access headers using
this method, in which case this method returns null
getHeaderNames
in interface HttpServletRequest
public int getIntHeader(String name)
getIntHeader
in interface HttpServletRequest
name
- Name of the requested headerIllegalArgumentException
- if the specified header value
cannot be converted to an integerpublic Mapping getMapping()
getMapping
in interface HttpServletRequest
public String getMethod()
javax.servlet.http.HttpServletRequest
getMethod
in interface HttpServletRequest
public String getPathInfo()
javax.servlet.http.HttpServletRequest
This method returns null
if there was no extra path
information.
Same as the value of the CGI variable PATH_INFO.
getPathInfo
in interface HttpServletRequest
public String getPathTranslated()
javax.servlet.http.HttpServletRequest
If the URL does not have any extra path information, this method returns
null
or the servlet container cannot translate the virtual
path to a real path for any reason (such as when the web application is
executed from an archive). The web container does not decode this string.
getPathTranslated
in interface HttpServletRequest
public String getQueryString()
javax.servlet.http.HttpServletRequest
null
if the URL does not have a
query string. Same as the value of the CGI variable QUERY_STRING.getQueryString
in interface HttpServletRequest
public String getRemoteUser()
javax.servlet.http.HttpServletRequest
null
if the user has not been
authenticated. Whether the user name is sent with each subsequent request
depends on the browser and type of authentication. Same as the value of
the CGI variable REMOTE_USER.getRemoteUser
in interface HttpServletRequest
public MessageBytes getRequestPathMB()
public String getRequestedSessionId()
javax.servlet.http.HttpServletRequest
null
.getRequestedSessionId
in interface HttpServletRequest
HttpServletRequest.isRequestedSessionIdValid()
public String getRequestURI()
javax.servlet.http.HttpServletRequest
First line of HTTP request | Returned Value | |
---|---|---|
POST /some/path.html HTTP/1.1 | /some/path.html | |
GET http://foo.bar/a.html HTTP/1.0 | /a.html | |
HEAD /xyz?a=b HTTP/1.1 | /xyz |
To reconstruct an URL with a scheme and host, use
HttpServletRequest.getRequestURL()
.
getRequestURI
in interface HttpServletRequest
HttpServletRequest.getRequestURL()
public StringBuffer getRequestURL()
Because this method returns a StringBuffer
,
not a String
, you can modify the URL easily,
for example, to append query parameters.
This method is useful for creating redirect messages and for reporting errors.
getRequestURL
in interface HttpServletRequest
StringBuffer
object containing the
reconstructed URLpublic String getServletPath()
javax.servlet.http.HttpServletRequest
This method will return an empty string ("") if the servlet used to process this request was matched using the "/*" pattern.
getServletPath
in interface HttpServletRequest
public HttpSession getSession()
javax.servlet.http.HttpServletRequest
getSession
in interface HttpServletRequest
HttpServletRequest.getSession(boolean)
public HttpSession getSession(boolean create)
javax.servlet.http.HttpServletRequest
HttpSession
associated with this request
or, if there is no current session and create
is true,
returns a new session.
If create
is false
and the request has no valid
HttpSession
, this method returns null
.
To make sure the session is properly maintained, you must call this method before the response is committed. If the container is using cookies to maintain session integrity and is asked to create a new session when the response is committed, an IllegalStateException is thrown.
getSession
in interface HttpServletRequest
create
- Create a new session if one does not existHttpServletRequest.getSession()
public boolean isRequestedSessionIdFromCookie()
javax.servlet.http.HttpServletRequest
isRequestedSessionIdFromCookie
in interface HttpServletRequest
true
if the session identifier included in this
request came from a cookie.HttpServletRequest.getSession(boolean)
public boolean isRequestedSessionIdFromURL()
javax.servlet.http.HttpServletRequest
isRequestedSessionIdFromURL
in interface HttpServletRequest
true
if the session identifier included in this
request came from the request URI.HttpServletRequest.getSession(boolean)
@Deprecated public boolean isRequestedSessionIdFromUrl()
isRequestedSessionIdFromURL()
instead.isRequestedSessionIdFromUrl
in interface HttpServletRequest
true
if the session identifier included in this
request came from the request URI.public boolean isRequestedSessionIdValid()
javax.servlet.http.HttpServletRequest
isRequestedSessionIdValid
in interface HttpServletRequest
true
if the session identifier included in this
request identifies a valid session.HttpServletRequest.getRequestedSessionId()
,
HttpServletRequest.getSession(boolean)
public boolean isUserInRole(String role)
javax.servlet.http.HttpServletRequest
false
.isUserInRole
in interface HttpServletRequest
role
- Role name to be validatedtrue
if the authenticated user principal
possesses the specified role name.public Principal getPrincipal()
public Principal getUserPrincipal()
javax.servlet.http.HttpServletRequest
java.security.Principal
object containing the name
of the current authenticated user. If the user has not been
authenticated, the method returns null
.getUserPrincipal
in interface HttpServletRequest
public Session getSessionInternal()
public void changeSessionId(String newSessionId)
newSessionId
- The session to change the session ID forpublic String changeSessionId()
changeSessionId
in interface HttpServletRequest
HttpSessionIdListener
public Session getSessionInternal(boolean create)
create
- Create a new session if one does not existpublic boolean isParametersParsed()
true
if we have parsed parameterspublic boolean isFinished()
true
if an attempt has been made to read the request
body and all of the request body has been read.protected void checkSwallowInput()
public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
authenticate
in interface HttpServletRequest
response
- The response to use to return any authentication
challengetrue
if the user is successfully authenticated and
false
if notIOException
- if the authentication process attempted to read from
the request or write to the response and an I/O error occurredServletException
- if the authentication failed and the caller is
expected to handle the failurepublic void login(String username, String password) throws ServletException
login
in interface HttpServletRequest
username
- The user name to authenticatepassword
- The password to use to authenticate the userServletException
- If any of HttpServletRequest.getRemoteUser()
,
HttpServletRequest.getUserPrincipal()
or HttpServletRequest.getAuthType()
are
non-null, if the configured authenticator does not support
user name and password authentication or if the
authentication failspublic void logout() throws ServletException
logout
in interface HttpServletRequest
ServletException
- If the logout failspublic Collection<Part> getParts() throws IOException, IllegalStateException, ServletException
getParts
in interface HttpServletRequest
IOException
- if an I/O error occursIllegalStateException
- if size limits are exceeded or no multipart configuration is
providedServletException
- if the request is not multipart/form-datapublic Part getPart(String name) throws IOException, IllegalStateException, ServletException
getPart
in interface HttpServletRequest
name
- The name of the Part to obtainIOException
- if an I/O error occursIllegalStateException
- if size limits are exceededServletException
- if the request is not multipart/form-dataprotected Session doGetSession(boolean create)
protected void parseCookies()
protected void convertCookies()
protected void parseParameters()
protected int readPostBody(byte[] body, int len) throws IOException
body
- The bytes array in which the body will be readlen
- The body lengthIOException
- if an IO exception occurredprotected byte[] readChunkedPostBody() throws IOException
IOException
- if an IO exception occurredprotected void parseLocales()
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.