public class MockRequestDispatcher extends Object implements RequestDispatcher
RequestDispatcher
interface.MockHttpServletRequest.getRequestDispatcher(String)
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 |
---|
MockRequestDispatcher(String resource)
Create a new MockRequestDispatcher for the given resource.
|
Modifier and Type | Method and Description |
---|---|
void |
forward(ServletRequest request,
ServletResponse response)
Forwards a request from
a servlet to another resource (servlet, JSP file, or
HTML file) on the server.
|
protected MockHttpServletResponse |
getMockHttpServletResponse(ServletResponse response)
Obtain the underlying
MockHttpServletResponse , unwrapping
HttpServletResponseWrapper decorators if necessary. |
void |
include(ServletRequest request,
ServletResponse response)
Includes the content of a resource (servlet, JSP page,
HTML file) in the response.
|
public MockRequestDispatcher(String resource)
resource
- the server resource to dispatch to, located at a
particular path or given by a particular namepublic void forward(ServletRequest request, ServletResponse response)
javax.servlet.RequestDispatcher
For a RequestDispatcher
obtained via
getRequestDispatcher()
, the ServletRequest
object has its path elements and parameters adjusted to match
the path of the target resource.
forward
should be called before the response has been
committed to the client (before response body output has been flushed).
If the response already has been committed, this method throws
an IllegalStateException
.
Uncommitted output in the response buffer is automatically cleared
before the forward.
The request and response parameters must be either the same
objects as were passed to the calling servlet's service method or be
subclasses of the ServletRequestWrapper
or
ServletResponseWrapper
classes
that wrap them.
This method sets the dispatcher type of the given request to
DispatcherType.FORWARD
.
forward
in interface RequestDispatcher
request
- a ServletRequest
object that represents the
request the client makes of the servletresponse
- a ServletResponse
object that represents
the response the servlet returns to the clientServletRequest.getDispatcherType()
public void include(ServletRequest request, ServletResponse response)
javax.servlet.RequestDispatcher
The ServletResponse
object has its path elements
and parameters remain unchanged from the caller's. The included
servlet cannot change the response status code or set headers;
any attempt to make a change is ignored.
The request and response parameters must be either the same
objects as were passed to the calling servlet's service method or be
subclasses of the ServletRequestWrapper
or
ServletResponseWrapper
classes that wrap them.
This method sets the dispatcher type of the given request to
DispatcherType.INCLUDE
.
include
in interface RequestDispatcher
request
- a ServletRequest
object that contains the
client's requestresponse
- a ServletResponse
object that contains the
servlet's responseServletRequest.getDispatcherType()
protected MockHttpServletResponse getMockHttpServletResponse(ServletResponse response)
MockHttpServletResponse
, unwrapping
HttpServletResponseWrapper
decorators if necessary.