public final class ApplicationDispatcher extends Object implements javax.servlet.RequestDispatcher
RequestDispatcher
that allows a
request to be forwarded to a different resource to create the ultimate
response, or to include the output of another resource in the response
from this resource. This implementation allows application level servlets
to wrap the request and/or response objects that are passed on to the
called resource, as long as the wrapping classes extend
javax.servlet.ServletRequestWrapper
and
javax.servlet.ServletResponseWrapper
.Modifier and Type | Class and Description |
---|---|
protected class |
ApplicationDispatcher.PrivilegedDispatch |
protected class |
ApplicationDispatcher.PrivilegedInclude |
Modifier and Type | Field and Description |
---|---|
static String |
LAST_DISPATCH_REQUEST_PATH_ATTR |
ERROR_EXCEPTION, ERROR_EXCEPTION_TYPE, ERROR_MESSAGE, ERROR_REQUEST_URI, ERROR_SERVLET_NAME, ERROR_STATUS_CODE, FORWARD_CONTEXT_PATH, FORWARD_MAPPING, FORWARD_PATH_INFO, FORWARD_QUERY_STRING, FORWARD_REQUEST_URI, FORWARD_SERVLET_PATH, INCLUDE_CONTEXT_PATH, INCLUDE_MAPPING, INCLUDE_PATH_INFO, INCLUDE_QUERY_STRING, INCLUDE_REQUEST_URI, INCLUDE_SERVLET_PATH
Constructor and Description |
---|
ApplicationDispatcher(Wrapper wrapper,
javax.servlet.http.HttpServletMapping mappingForDispatch,
String requestURI,
String servletPath,
String pathInfo,
String queryString,
String name)
Construct a new instance of this class, configured according to the
specified parameters.
|
Modifier and Type | Method and Description |
---|---|
void |
dispatch(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.DispatcherType dispatcherType)
Dispatches the given request and response to the resource
for which this dispatcher was acquired.
|
void |
forward(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response)
Forwards the given request and response to the resource
for which this dispatcher was acquired.
|
String |
getInfo()
Return the descriptive information about this implementation.
|
void |
include(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response)
Include the response from another resource in the current response.
|
public static final String LAST_DISPATCH_REQUEST_PATH_ATTR
public ApplicationDispatcher(Wrapper wrapper, javax.servlet.http.HttpServletMapping mappingForDispatch, String requestURI, String servletPath, String pathInfo, String queryString, String name)
null
, it will be assumed that this RequestDispatcher
was acquired by name, rather than by path.wrapper
- The Wrapper associated with the resource that will
be forwarded to or included (required)requestURI
- The request URI to this resource (if any)servletPath
- The revised servlet path to this resource (if any)pathInfo
- The revised extra path information to this resource
(if any)queryString
- Query string parameters included with this request
(if any)name
- Servlet name (if a named dispatcher was created)
else null
public String getInfo()
public void forward(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws javax.servlet.ServletException, IOException
Any runtime exceptions, IOException, or ServletException thrown by the target will be propagated to the caller.
forward
in interface javax.servlet.RequestDispatcher
request
- The request to be forwardedresponse
- The response to be forwardedIOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occurspublic void dispatch(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.DispatcherType dispatcherType) throws javax.servlet.ServletException, IOException
Any runtime exceptions, IOException, or ServletException thrown by the target will be propagated to the caller.
request
- The request to be forwardedresponse
- The response to be forwardeddispatcherType
- The type of dispatch to be performedIOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occursIllegalArgumentException
- if the dispatcher type is different
from FORWARD, ERROR, and ASYNCpublic void include(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws javax.servlet.ServletException, IOException
include
in interface javax.servlet.RequestDispatcher
request
- The servlet request that is including this oneresponse
- The servlet response to be appended toIOException
- if an input/output error occursjavax.servlet.ServletException
- if a servlet exception occursCopyright © 2019. All rights reserved.