Class RequestFacade
- All Implemented Interfaces:
HttpServletRequest,ServletRequest
- Author:
- Craig R. McClanahan, Remy Maucherat
-
Field Summary
FieldsFields inherited from interface jakarta.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH -
Constructor Summary
ConstructorsConstructorDescriptionRequestFacade(Request request) Construct a wrapper for the specified request. -
Method Summary
Modifier and TypeMethodDescriptionbooleanauthenticate(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.Changes the session ID of the session associated with this request.voidclear()Clear facade.protected Objectclone()Prevent cloning the facade.booleanGet the current AsyncContext.getAttribute(String name) Returns the value of the named attribute as anObject, ornullif no attribute of the given name exists.Returns anEnumerationcontaining the names of the attributes available to this request.Returns the name of the authentication scheme used to protect the servlet.Returns the name of the character encoding used in the body of this request.intReturns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known.longReturns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known.Returns the MIME type of the body of the request, ornullif the type is not known.Returns the portion of the request URI that indicates the context of the request.Cookie[]Returns an array containing all of theCookieobjects the client sent with this request.longgetDateHeader(String name) Returns the value of the specified request header as alongvalue that represents aDateobject.Returns the value of the specified request header as aString.Returns an enumeration of all the header names this request contains.getHeaders(String name) Returns all the values of the specified request header as anEnumerationofStringobjects.Obtain the mapping information for this request.Retrieves the body of the request as binary data using aServletInputStream.intgetIntHeader(String name) Returns the value of the specified request header as anint.Returns the Internet Protocol (IP) address of the interface on which the request was received.Returns the preferredLocalethat the client will accept content in, based on the Accept-Language header.Returns anEnumerationofLocaleobjects indicating, in decreasing order starting with the preferred locale, the locales that are acceptable to the client based on the Accept-Language header.Returns the host name of the Internet Protocol (IP) interface on which the request was received.intReturns the Internet Protocol (IP) port number of the interface on which the request was received.Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.getParameter(String name) Returns the value of a request parameter as aString, ornullif the parameter does not exist.Returns a java.util.Map of the parameters of this request.Returns anEnumerationofStringobjects containing the names of the parameters contained in this request.String[]getParameterValues(String name) Returns an array ofStringobjects containing all of the values the given request parameter has, ornullif the parameter does not exist.Gets the named Part or null if the Part does not exist.getParts()Return a collection of all uploaded Parts.Returns any extra path information associated with the URL the client sent when it made this request.Returns any extra path information after the servlet name but before the query string, and translates it to a real path.Returns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1.Obtain the request identifier for this request as defined by the protocol in use.Returns the query string that is contained in the request URL after the path.Retrieves the body of the request as character data using aBufferedReader.Returns the Internet Protocol (IP) address of the client or last proxy that sent the request.Returns the fully qualified name of the client or the last proxy that sent the request.intReturns the Internet Protocol (IP) source port of the client or last proxy that sent the request.Returns the login of the user making this request, if the user has been authenticated, ornullif the user has not been authenticated.getRequestDispatcher(String path) Returns aRequestDispatcherobject that acts as a wrapper for the resource located at the given path.Returns the session ID specified by the client.Obtain a unique (within the lifetime of the Servlet container) identifier string for this request.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.Reconstructs the URL the client used to make the request.Returns the name of the scheme used to make this request, for example,http,https, orftp.Returns the host name of the server to which the request was sent.intReturns the port number to which the request was sent.Obtain details of the network connection to the Servlet container that is being used by this request.Returns the part of this request's URL that calls the servlet.Returns the current session associated with this request, or if the request does not have a session, creates one.getSession(boolean create) Returns the currentHttpSessionassociated with this request or, if there is no current session andcreateis true, returns a new session.Obtain a Map of the trailer fields that is not backed by the request object.Returns ajava.security.Principalobject containing the name of the current authenticated user.booleanbooleanbooleanChecks whether the requested session ID came in as a cookie.booleanChecks whether the requested session ID came in as part of the request URL.booleanChecks whether the requested session ID is still valid.booleanisSecure()Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.booleanAre trailer fields ready to be read (there may still be no trailers to read).booleanisUserInRole(String role) Returns a boolean indicating whether the authenticated user is included in the specified logical "role".voidAuthenticate the provided user name and password and then associated the authenticated user with the request.voidlogout()Removes any authenticated user from the request.Obtain a builder for generating push requests.newPushBuilder(HttpServletRequest request) voidremoveAttribute(String name) Removes an attribute from this request.voidsetAttribute(String name, Object o) Stores an attribute in this request.voidOverrides the name of the character encoding used in the body of this request.startAsync(ServletRequest request, ServletResponse response) <T extends HttpUpgradeHandler>
TStart the HTTP upgrade process and create and instance of the provided protocol handler class.
-
Field Details
-
request
The wrapped request.
-
-
Constructor Details
-
RequestFacade
Construct a wrapper for the specified request.- Parameters:
request- The request to be wrapped
-
-
Method Details
-
clear
public void clear()Clear facade. -
clone
Prevent cloning the facade.- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
getAttribute
Description copied from interface:jakarta.servlet.ServletRequestReturns the value of the named attribute as anObject, ornullif 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
jakarta.servlet.request.X509Certificatecan be used to retrieve information on the certificate of the client. Attributes can also be set programmatically usingServletRequest.setAttribute(java.lang.String, java.lang.Object). This allows information to be embedded into a request before aRequestDispatchercall.Attribute names should follow the same conventions as package names. Names beginning with
jakarta.*are reserved for use by the Jakarta EE platform.- Specified by:
getAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attribute- Returns:
- an
Objectcontaining the value of the attribute, ornullif the attribute does not exist
-
getAttributeNames
Description copied from interface:jakarta.servlet.ServletRequestReturns anEnumerationcontaining the names of the attributes available to this request. This method returns an emptyEnumerationif the request has no attributes available to it.- Specified by:
getAttributeNamesin interfaceServletRequest- Returns:
- an
Enumerationof strings containing the names of the request's attributes
-
getCharacterEncoding
Description copied from interface:jakarta.servlet.ServletRequestReturns the name of the character encoding used in the body of this request. This method returnsnullif the no character encoding has been specified. The following priority order is used to determine the specified encoding:- per request
- web application default via the deployment descriptor or
ServletContext.setRequestCharacterEncoding(String) - container default via container specific configuration
- Specified by:
getCharacterEncodingin interfaceServletRequest- Returns:
- a
Stringcontaining the name of the character encoding, ornullif the request does not specify a character encoding
-
setCharacterEncoding
Description copied from interface:jakarta.servlet.ServletRequestOverrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().- Specified by:
setCharacterEncodingin interfaceServletRequest- Parameters:
env- aStringcontaining the name of the character encoding- Throws:
UnsupportedEncodingException- if this is not a valid encoding
-
getContentLength
public int getContentLength()Description copied from interface:jakarta.servlet.ServletRequestReturns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known. For HTTP servlets, same as the value of the CGI variable CONTENT_LENGTH.- Specified by:
getContentLengthin interfaceServletRequest- Returns:
- an integer containing the length of the request body or -1 if the length is not known or is greater than
Integer.MAX_VALUE
-
getContentType
Description copied from interface:jakarta.servlet.ServletRequestReturns the MIME type of the body of the request, ornullif the type is not known. For HTTP servlets, same as the value of the CGI variable CONTENT_TYPE.- Specified by:
getContentTypein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the MIME type of the request, or null if the type is not known
-
getInputStream
Description copied from interface:jakarta.servlet.ServletRequestRetrieves the body of the request as binary data using aServletInputStream. Either this method orServletRequest.getReader()may be called to read the body, not both.- Specified by:
getInputStreamin interfaceServletRequest- Returns:
- a
ServletInputStreamobject containing the body of the request - Throws:
IOException- if an input or output exception occurred
-
getParameter
Description copied from interface:jakarta.servlet.ServletRequestReturns the value of a request parameter as aString, ornullif 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()orServletRequest.getReader()can interfere with the execution of this method.- Specified by:
getParameterin interfaceServletRequest- Parameters:
name- aStringspecifying the name of the parameter- Returns:
- a
Stringrepresenting the single value of the parameter - See Also:
-
getParameterNames
Description copied from interface:jakarta.servlet.ServletRequestReturns anEnumerationofStringobjects containing the names of the parameters contained in this request. If the request has no parameters, the method returns an emptyEnumeration.- Specified by:
getParameterNamesin interfaceServletRequest- Returns:
- an
EnumerationofStringobjects, eachStringcontaining the name of a request parameter; or an emptyEnumerationif the request has no parameters
-
getParameterValues
Description copied from interface:jakarta.servlet.ServletRequestReturns an array ofStringobjects containing all of the values the given request parameter has, ornullif the parameter does not exist.If the parameter has a single value, the array has a length of 1.
- Specified by:
getParameterValuesin interfaceServletRequest- Parameters:
name- aStringcontaining the name of the parameter whose value is requested- Returns:
- an array of
Stringobjects containing the parameter's values - See Also:
-
getParameterMap
Description copied from interface:jakarta.servlet.ServletRequestReturns a java.util.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.- Specified by:
getParameterMapin interfaceServletRequest- 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.
-
getProtocol
Description copied from interface:jakarta.servlet.ServletRequestReturns the name and version of the protocol the request uses in the form protocol/majorVersion.minorVersion, for example, HTTP/1.1. For HTTP servlets, the value returned is the same as the value of the CGI variableSERVER_PROTOCOL.- Specified by:
getProtocolin interfaceServletRequest- Returns:
- a
Stringcontaining the protocol name and version number
-
getScheme
Description copied from interface:jakarta.servlet.ServletRequestReturns the name of the scheme used to make this request, for example,http,https, orftp. Different schemes have different rules for constructing URLs, as noted in RFC 1738.- Specified by:
getSchemein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the scheme used to make this request
-
getServerName
Description copied from interface:jakarta.servlet.ServletRequestReturns the host name of the server to which the request was sent. It is the value of the part before ":" in theHostheader value, if any, or the resolved server name, or the server IP address.- Specified by:
getServerNamein interfaceServletRequest- Returns:
- a
Stringcontaining the name of the server
-
getServerPort
public int getServerPort()Description copied from interface:jakarta.servlet.ServletRequestReturns the port number to which the request was sent. It is the value of the part after ":" in theHostheader value, if any, or the server port where the client connection was accepted on.- Specified by:
getServerPortin interfaceServletRequest- Returns:
- an integer specifying the port number
-
getReader
Description copied from interface:jakarta.servlet.ServletRequestRetrieves the body of the request as character data using aBufferedReader. The reader translates the character data according to the character encoding used on the body. Either this method orServletRequest.getInputStream()may be called to read the body, not both.- Specified by:
getReaderin interfaceServletRequest- Returns:
- a
BufferedReadercontaining the body of the request - Throws:
IOException- if an input or output exception occurred- See Also:
-
getRemoteAddr
Description copied from interface:jakarta.servlet.ServletRequestReturns the Internet Protocol (IP) address of the client or last proxy that sent the request. For HTTP servlets, same as the value of the CGI variableREMOTE_ADDR.- Specified by:
getRemoteAddrin interfaceServletRequest- Returns:
- a
Stringcontaining the IP address of the client that sent the request
-
getRemoteHost
Description copied from interface:jakarta.servlet.ServletRequestReturns the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the dotted-string form of the IP address. For HTTP servlets, same as the value of the CGI variableREMOTE_HOST.- Specified by:
getRemoteHostin interfaceServletRequest- Returns:
- a
Stringcontaining the fully qualified name of the client
-
setAttribute
Description copied from interface:jakarta.servlet.ServletRequestStores an attribute in this request. Attributes are reset between requests. This method is most often used in conjunction withRequestDispatcher.Attribute names should follow the same conventions as package names. Names beginning with
jakarta.*are reserved for use by the Jakarta EE platform.If the object passed in is null, the effect is the same as calling
ServletRequest.removeAttribute(java.lang.String).
It is warned that when the request is dispatched from the servlet resides in a different web application byRequestDispatcher, the object set by this method may not be correctly retrieved in the caller servlet.- Specified by:
setAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attributeo- theObjectto be stored
-
removeAttribute
Description copied from interface:jakarta.servlet.ServletRequestRemoves an attribute from this request. This method is not generally needed as attributes only persist as long as the request is being handled.Attribute names should follow the same conventions as package names. Names beginning with
jakarta.*are reserved for use by the Jakarta EE platform.- Specified by:
removeAttributein interfaceServletRequest- Parameters:
name- aStringspecifying the name of the attribute to remove
-
getLocale
Description copied from interface:jakarta.servlet.ServletRequestReturns the preferredLocalethat 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.- Specified by:
getLocalein interfaceServletRequest- Returns:
- the preferred
Localefor the client
-
getLocales
Description copied from interface:jakarta.servlet.ServletRequestReturns anEnumerationofLocaleobjects 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 anEnumerationcontaining oneLocale, the default locale for the server.- Specified by:
getLocalesin interfaceServletRequest- Returns:
- an
Enumerationof preferredLocaleobjects for the client
-
isSecure
public boolean isSecure()Description copied from interface:jakarta.servlet.ServletRequestReturns a boolean indicating whether this request was made using a secure channel, such as HTTPS.- Specified by:
isSecurein interfaceServletRequest- Returns:
- a boolean indicating if the request was made using a secure channel
-
getRequestDispatcher
Description copied from interface:jakarta.servlet.ServletRequestReturns aRequestDispatcherobject that acts as a wrapper for the resource located at the given path. ARequestDispatcherobject 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
nullif the servlet container cannot return aRequestDispatcher.The difference between this method and
ServletContext.getRequestDispatcher(java.lang.String)is that this method can take a relative path.- Specified by:
getRequestDispatcherin interfaceServletRequest- Parameters:
path- aStringspecifying the pathname to the resource. If it is relative, it must be relative against the current servlet.- Returns:
- a
RequestDispatcherobject that acts as a wrapper for the resource at the specified path, ornullif the servlet container cannot return aRequestDispatcher - See Also:
-
getAuthType
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the name of the authentication scheme used to protect the servlet. All servlet containers support basic, form and client certificate authentication, and may additionally support digest authentication. If the servlet is not authenticatednullis returned.Same as the value of the CGI variable AUTH_TYPE.
- Specified by:
getAuthTypein interfaceHttpServletRequest- Returns:
- one of the static members BASIC_AUTH, FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH (suitable for ==
comparison) or the container-specific string indicating the authentication scheme, or
nullif the request was not authenticated.
-
getCookies
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns an array containing all of theCookieobjects the client sent with this request. This method returnsnullif no cookies were sent.- Specified by:
getCookiesin interfaceHttpServletRequest- Returns:
- an array of all the
Cookiesincluded with this request, ornullif the request has no cookies
-
getDateHeader
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the value of the specified request header as alongvalue that represents aDateobject. Use this method with headers that contain dates, such asIf-Modified-Since.The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.
If the request did not have a header of the specified name, this method returns -1. If the header can't be converted to a date, the method throws an
IllegalArgumentException.- Specified by:
getDateHeaderin interfaceHttpServletRequest- Parameters:
name- aStringspecifying the name of the header- Returns:
- a
longvalue representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the request
-
getHeader
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the value of the specified request header as aString. If the request did not include a header of the specified name, this method returnsnull. If there are multiple headers with the same name, this method returns the first head in the request. The header name is case insensitive. You can use this method with any request header.- Specified by:
getHeaderin interfaceHttpServletRequest- Parameters:
name- aStringspecifying the header name- Returns:
- a
Stringcontaining the value of the requested header, ornullif the request does not have a header of that name
-
getHeaders
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns all the values of the specified request header as anEnumerationofStringobjects.Some headers, such as
Accept-Languagecan be sent by clients as several headers each with a different value rather than sending the header as a comma separated list.If the request did not include any headers of the specified name, this method returns an empty
Enumeration. The header name is case insensitive. You can use this method with any request header.- Specified by:
getHeadersin interfaceHttpServletRequest- Parameters:
name- aStringspecifying the header name- Returns:
- an
Enumerationcontaining the values of the requested header. If the request does not have any headers of that name return an empty enumeration. If the container does not allow access to header information, return null
-
getHeaderNames
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns an enumeration of all the header names this request contains. If the request has no headers, this method returns an empty enumeration.Some servlet containers do not allow servlets to access headers using this method, in which case this method returns
null- Specified by:
getHeaderNamesin interfaceHttpServletRequest- Returns:
- an enumeration of all the header names sent with this request; if the request has no headers, an empty
enumeration; if the servlet container does not allow servlets to use this method,
null
-
getIntHeader
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the value of the specified request header as anint. If the request does not have a header of the specified name, this method returns -1. If the header cannot be converted to an integer, this method throws aNumberFormatException.The header name is case insensitive.
- Specified by:
getIntHeaderin interfaceHttpServletRequest- Parameters:
name- aStringspecifying the name of a request header- Returns:
- an integer expressing the value of the request header or -1 if the request doesn't have a header of this name
-
getHttpServletMapping
Description copied from interface:jakarta.servlet.http.HttpServletRequestObtain the mapping information for this request.- Specified by:
getHttpServletMappingin interfaceHttpServletRequest- Returns:
- the mapping information for this request
-
getMethod
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT. Same as the value of the CGI variable REQUEST_METHOD.- Specified by:
getMethodin interfaceHttpServletRequest- Returns:
- a
Stringspecifying the name of the method with which this request was made
-
getPathInfo
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns any extra path information associated with the URL the client sent when it made this request. The extra path information follows the servlet path but precedes the query string and will start with a "/" character.This method returns
nullif there was no extra path information.The URL will be canonicalized as per section 3.5 of the specification before the path information, if any, is extracted.
- Specified by:
getPathInfoin interfaceHttpServletRequest- Returns:
- a
String, canonicalized by the web container, specifying extra path information that comes after the servlet path but before the query string in the request URL; ornullif the URL does not have any extra path information
-
getPathTranslated
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns any extra path information after the servlet name but before the query string, and translates it to a real path. Same as the value of the CGI variable PATH_TRANSLATED.If the URL does not have any extra path information, this method returns
nullor 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.- Specified by:
getPathTranslatedin interfaceHttpServletRequest- Returns:
- a
Stringspecifying the real path, ornullif the URL does not have any extra path information
-
getContextPath
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the portion of the request URI that indicates the context of the request. The context path always comes first in a request URI. The path starts with a "/" character but does not end with a "/" character. For servlets in the default (root) context, this method returns "". The container does not decode this string.- Specified by:
getContextPathin interfaceHttpServletRequest- Returns:
- a
Stringspecifying the portion of the request URI that indicates the context of the request
-
getQueryString
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the query string that is contained in the request URL after the path. This method returnsnullif the URL does not have a query string. Same as the value of the CGI variable QUERY_STRING.- Specified by:
getQueryStringin interfaceHttpServletRequest- Returns:
- a
Stringcontaining the query string ornullif the URL contains no query string. The value is not decoded by the container.
-
getRemoteUser
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the login of the user making this request, if the user has been authenticated, ornullif 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.- Specified by:
getRemoteUserin interfaceHttpServletRequest- Returns:
- a
Stringspecifying the login of the user making this request, ornullif the user login is not known
-
isUserInRole
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns a boolean indicating whether the authenticated user is included in the specified logical "role". Roles and role membership can be defined using deployment descriptors. If the user has not been authenticated, the method returnsfalse.- Specified by:
isUserInRolein interfaceHttpServletRequest- Parameters:
role- aStringspecifying the name of the role- Returns:
- a
booleanindicating whether the user making this request belongs to a given role;falseif the user has not been authenticated
-
getUserPrincipal
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns ajava.security.Principalobject containing the name of the current authenticated user. If the user has not been authenticated, the method returnsnull.- Specified by:
getUserPrincipalin interfaceHttpServletRequest- Returns:
- a
java.security.Principalcontaining the name of the user making this request;nullif the user has not been authenticated
-
getRequestedSessionId
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the session ID specified by the client. This may not be the same as the ID of the current valid session for this request. If the client did not specify a session ID, this method returnsnull.- Specified by:
getRequestedSessionIdin interfaceHttpServletRequest- Returns:
- a
Stringspecifying the session ID, ornullif the request did not specify a session ID - See Also:
-
getRequestURI
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request. The web container does not decode this String. For example:Examples of Returned Values 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 a URL with a scheme and host, use
HttpServletRequest.getRequestURL().- Specified by:
getRequestURIin interfaceHttpServletRequest- Returns:
- a
Stringcontaining the part of the URL from the protocol name up to the query string - See Also:
-
getRequestURL
Description copied from interface:jakarta.servlet.http.HttpServletRequestReconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.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.
- Specified by:
getRequestURLin interfaceHttpServletRequest- Returns:
- a
StringBufferobject containing the reconstructed URL
-
getServletPath
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the part of this request's URL that calls the servlet. This path starts with a "/" character and includes either the servlet name or a path to the servlet, but does not include any extra path information or a query string. Same as the value of the CGI variable SCRIPT_NAME.The URL will be canonicalized as per section 3.5 of the specification before the path information, if any, is extracted.
This method will return an empty string ("") if the servlet used to process this request was matched using the "/*" pattern.
- Specified by:
getServletPathin interfaceHttpServletRequest- Returns:
- a
String, canonicalized by the web container, containing the name or path of the servlet being called, as specified in the request URL, or an empty string if the servlet used to process the request is matched using the "/*" pattern.
-
getSession
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the currentHttpSessionassociated with this request or, if there is no current session andcreateis true, returns a new session.If
createisfalseand the request has no validHttpSession, this method returnsnull.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.
- Specified by:
getSessionin interfaceHttpServletRequest- Parameters:
create-trueto create a new session for this request if necessary;falseto returnnullif there's no current session- Returns:
- the
HttpSessionassociated with this request ornullifcreateisfalseand the request has no valid session - See Also:
-
getSession
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturns the current session associated with this request, or if the request does not have a session, creates one.- Specified by:
getSessionin interfaceHttpServletRequest- Returns:
- the
HttpSessionassociated with this request - See Also:
-
changeSessionId
Description copied from interface:jakarta.servlet.http.HttpServletRequestChanges the session ID of the session associated with this request. This method does not create a new session object it only changes the ID of the current session.- Specified by:
changeSessionIdin interfaceHttpServletRequest- Returns:
- the new session ID allocated to the session
- See Also:
-
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid()Description copied from interface:jakarta.servlet.http.HttpServletRequestChecks whether the requested session ID is still valid.- Specified by:
isRequestedSessionIdValidin interfaceHttpServletRequest- Returns:
trueif this request has an id for a valid session in the current session context;falseotherwise- See Also:
-
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie()Description copied from interface:jakarta.servlet.http.HttpServletRequestChecks whether the requested session ID came in as a cookie.- Specified by:
isRequestedSessionIdFromCookiein interfaceHttpServletRequest- Returns:
trueif the session ID came in as a cookie; otherwise,false- See Also:
-
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL()Description copied from interface:jakarta.servlet.http.HttpServletRequestChecks whether the requested session ID came in as part of the request URL.- Specified by:
isRequestedSessionIdFromURLin interfaceHttpServletRequest- Returns:
trueif the session ID came in as part of a URL; otherwise,false- See Also:
-
getLocalAddr
Description copied from interface:jakarta.servlet.ServletRequestReturns the Internet Protocol (IP) address of the interface on which the request was received.- Specified by:
getLocalAddrin interfaceServletRequest- Returns:
- a
Stringcontaining the IP address on which the request was received.
-
getLocalName
Description copied from interface:jakarta.servlet.ServletRequestReturns the host name of the Internet Protocol (IP) interface on which the request was received.- Specified by:
getLocalNamein interfaceServletRequest- Returns:
- a
Stringcontaining the host name of the IP on which the request was received.
-
getLocalPort
public int getLocalPort()Description copied from interface:jakarta.servlet.ServletRequestReturns the Internet Protocol (IP) port number of the interface on which the request was received.- Specified by:
getLocalPortin interfaceServletRequest- Returns:
- an integer specifying the port number
-
getRemotePort
public int getRemotePort()Description copied from interface:jakarta.servlet.ServletRequestReturns the Internet Protocol (IP) source port of the client or last proxy that sent the request.- Specified by:
getRemotePortin interfaceServletRequest- Returns:
- an integer specifying the port number
-
getServletContext
- Specified by:
getServletContextin interfaceServletRequest- Returns:
- TODO
-
startAsync
- Specified by:
startAsyncin interfaceServletRequest- Returns:
- TODO
- Throws:
IllegalStateException- If async is not supported for this request
-
startAsync
public AsyncContext startAsync(ServletRequest request, ServletResponse response) throws IllegalStateException - Specified by:
startAsyncin interfaceServletRequest- Parameters:
request- The ServletRequest with which to initialise the asynchronous contextresponse- The ServletResponse with which to initialise the asynchronous context- Returns:
- TODO
- Throws:
IllegalStateException- If async is not supported for this request
-
isAsyncStarted
public boolean isAsyncStarted()- Specified by:
isAsyncStartedin interfaceServletRequest- Returns:
- TODO
-
isAsyncSupported
public boolean isAsyncSupported()- Specified by:
isAsyncSupportedin interfaceServletRequest- Returns:
- TODO
-
getAsyncContext
Description copied from interface:jakarta.servlet.ServletRequestGet the current AsyncContext.- Specified by:
getAsyncContextin interfaceServletRequest- Returns:
- The current AsyncContext
-
getDispatcherType
- Specified by:
getDispatcherTypein interfaceServletRequest- Returns:
- TODO
-
authenticate
Description copied from interface:jakarta.servlet.http.HttpServletRequestTriggers the same authentication process as would be triggered if the request is for a resource that is protected by a security constraint.- Specified by:
authenticatein interfaceHttpServletRequest- Parameters:
response- The response to use to return any authentication challenge- Returns:
trueif the user is successfully authenticated andfalseif not- Throws:
IOException- 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 failure
-
login
Description copied from interface:jakarta.servlet.http.HttpServletRequestAuthenticate the provided user name and password and then associated the authenticated user with the request.- Specified by:
loginin interfaceHttpServletRequest- Parameters:
username- The user name to authenticatepassword- The password to use to authenticate the user- Throws:
ServletException- If any ofHttpServletRequest.getRemoteUser(),HttpServletRequest.getUserPrincipal()orHttpServletRequest.getAuthType()are non-null, if the configured authenticator does not support user name and password authentication or if the authentication fails
-
logout
Description copied from interface:jakarta.servlet.http.HttpServletRequestRemoves any authenticated user from the request.- Specified by:
logoutin interfaceHttpServletRequest- Throws:
ServletException- If the logout fails
-
getParts
Description copied from interface:jakarta.servlet.http.HttpServletRequestReturn a collection of all uploaded Parts.- Specified by:
getPartsin interfaceHttpServletRequest- Returns:
- A collection of all uploaded Parts.
- Throws:
IllegalStateException- if size limits are exceeded or no multipart configuration is providedIOException- if an I/O error occursServletException- if the request is not multipart/form-data
-
getPart
Description copied from interface:jakarta.servlet.http.HttpServletRequestGets the named Part or null if the Part does not exist. Triggers upload of all Parts.- Specified by:
getPartin interfaceHttpServletRequest- Parameters:
name- The name of the Part to obtain- Returns:
- The named Part or null if the Part does not exist
- Throws:
IllegalStateException- if size limits are exceededIOException- if an I/O error occursServletException- if the request is not multipart/form-data
-
getAllowTrace
public boolean getAllowTrace() -
getContentLengthLong
public long getContentLengthLong()Description copied from interface:jakarta.servlet.ServletRequestReturns the length, in bytes, of the request body and made available by the input stream, or -1 if the length is not known. For HTTP servlets, same as the value of the CGI variable CONTENT_LENGTH.- Specified by:
getContentLengthLongin interfaceServletRequest- Returns:
- a long integer containing the length of the request body or -1 if the length is not known
-
upgrade
public <T extends HttpUpgradeHandler> T upgrade(Class<T> httpUpgradeHandlerClass) throws IOException, ServletException Description copied from interface:jakarta.servlet.http.HttpServletRequestStart the HTTP upgrade process and create and instance of the provided protocol handler class. The connection will be passed this instance once the current request/response pair has completed processing. Calling this method sets the response status toHttpServletResponse.SC_SWITCHING_PROTOCOLS.- Specified by:
upgradein interfaceHttpServletRequest- Type Parameters:
T- The type of the upgrade handler- Parameters:
httpUpgradeHandlerClass- The class that implements the upgrade handler- Returns:
- A newly created instance of the specified upgrade handler type
- Throws:
IOException- if an I/O error occurred during the upgradeServletException- if the given httpUpgradeHandlerClass fails to be instantiated
-
newPushBuilder
Description copied from interface:jakarta.servlet.http.HttpServletRequestObtain a builder for generating push requests.PushBuilderdocuments 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.- Specified by:
newPushBuilderin interfaceHttpServletRequest- Returns:
- A builder that can be used to generate push requests based on this request or
nullif push is not supported. Note that even if a PushBuilder instance is returned, by the time thatPushBuilder.push()is called, it may no longer be valid to push a request and the push request will be ignored.
-
newPushBuilder
-
isTrailerFieldsReady
public boolean isTrailerFieldsReady()Description copied from interface:jakarta.servlet.http.HttpServletRequestAre trailer fields ready to be read (there may still be no trailers to read). This method always returnstrueif the underlying protocol does not support trailer fields. Otherwise,trueis returned once all of the following are true:- The application has ready all the request data and an EOF has been received or the content-length is zero
- All trailer fields, if any, have been received
- Specified by:
isTrailerFieldsReadyin interfaceHttpServletRequest- Returns:
trueif trailers are ready to be read
-
getTrailerFields
Description copied from interface:jakarta.servlet.http.HttpServletRequestObtain a Map of the trailer fields that is not backed by the request object.- Specified by:
getTrailerFieldsin interfaceHttpServletRequest- Returns:
- A Map of the received trailer fields with all keys lower case or an empty Map if no trailers are present
-
getRequestId
Description copied from interface:jakarta.servlet.ServletRequestObtain a unique (within the lifetime of the Servlet container) identifier string for this request.There is no defined format for this string. The format is implementation dependent.
- Specified by:
getRequestIdin interfaceServletRequest- Returns:
- A unique identifier for the request
-
getProtocolRequestId
Description copied from interface:jakarta.servlet.ServletRequestObtain the request identifier for this request as defined by the protocol in use. Note that some protocols do not define such an identifier.Examples of protocol provided request identifiers include:
- HTTP 1.x
- None, so the empty string should be returned
- HTTP 2
- The stream identifier
- HTTP 3
- The stream identifier
- AJP
- None, so the empty string should be returned
- Specified by:
getProtocolRequestIdin interfaceServletRequest- Returns:
- The request identifier if one is defined, otherwise an empty string
-
getServletConnection
Description copied from interface:jakarta.servlet.ServletRequestObtain details of the network connection to the Servlet container that is being used by this request. The information presented may differ from information presented elsewhere in the Servlet API as raw information is presented without adjustments for, example, use of reverse proxies that may be applied elsewhere in the Servlet API.- Specified by:
getServletConnectionin interfaceServletRequest- Returns:
- The network connection details.
-