Top Description Fields Methods
jakarta.servlet

public Interface RequestDispatcher

Known Direct Implementers
org.apache.catalina.core.ApplicationDispatcher
Imports
java.io.IOException

Defines an object that receives requests from the client and sends them to any resource (such as a servlet, HTML file, or JSP file) on the server. The servlet container creates the RequestDispatcher object, which is used as a wrapper around a server resource located at a particular path or given by a particular name.

This interface is intended to wrap servlets, but a servlet container can create RequestDispatcher objects to wrap any type of resource.

See Also
ServletContext#getRequestDispatcher(String), ServletContext#getNamedDispatcher(String), ServletRequest#getRequestDispatcher(String)

Field Summary

Modifier and TypeField and Description
public static final String
ERROR_EXCEPTION

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
ERROR_EXCEPTION_TYPE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
ERROR_MESSAGE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
ERROR_REQUEST_URI

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
ERROR_SERVLET_NAME

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
ERROR_STATUS_CODE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked.

public static final String
FORWARD_CONTEXT_PATH

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
FORWARD_MAPPING

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
FORWARD_PATH_INFO

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
FORWARD_QUERY_STRING

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
FORWARD_REQUEST_URI

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
FORWARD_SERVLET_PATH

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called.

public static final String
INCLUDE_CONTEXT_PATH

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

public static final String
INCLUDE_MAPPING

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

public static final String
INCLUDE_PATH_INFO

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

public static final String
INCLUDE_QUERY_STRING

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

public static final String
INCLUDE_REQUEST_URI

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

public static final String
INCLUDE_SERVLET_PATH

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name.

Method Summary

Modifier and TypeMethod and Description
public void
forward(ServletRequest
a ServletRequest object that represents the request the client makes of the servlet
request
,
ServletResponse
a ServletResponse object that represents the response the servlet returns to the client
response
)

Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server.

public void
include(ServletRequest
a ServletRequest object that contains the client's request
request
,
ServletResponse
a ServletResponse object that contains the servlet's response
response
)

Includes the content of a resource (servlet, JSP page, HTML file) in the response.

Field Detail

ERROR_EXCEPTIONback to summary
public static final String ERROR_EXCEPTION

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type java.lang.Throwable. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
ERROR_EXCEPTION_TYPEback to summary
public static final String ERROR_EXCEPTION_TYPE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type java.lang.Class. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
ERROR_MESSAGEback to summary
public static final String ERROR_MESSAGE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type String. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
ERROR_REQUEST_URIback to summary
public static final String ERROR_REQUEST_URI

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type String. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
ERROR_SERVLET_NAMEback to summary
public static final String ERROR_SERVLET_NAME

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type String. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
ERROR_STATUS_CODEback to summary
public static final String ERROR_STATUS_CODE

The name of the request attribute that should be set by the container when custom error-handling servlet or JSP page is invoked. The value of the attribute is of type java.lang.Integer. See the chapter "Error Handling" in the Servlet Specification for details.

Since
Servlet 3.0
FORWARD_CONTEXT_PATHback to summary
public static final String FORWARD_CONTEXT_PATH

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
FORWARD_MAPPINGback to summary
public static final String FORWARD_MAPPING

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 4.0
FORWARD_PATH_INFOback to summary
public static final String FORWARD_PATH_INFO

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
FORWARD_QUERY_STRINGback to summary
public static final String FORWARD_QUERY_STRING

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
FORWARD_REQUEST_URIback to summary
public static final String FORWARD_REQUEST_URI

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
FORWARD_SERVLET_PATHback to summary
public static final String FORWARD_SERVLET_PATH

The name of the request attribute that should be set by the container when the forward(ServletRequest, ServletResponse) method is called. It provides the original value of a path-related property of the request. See the chapter "Forwarded Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
INCLUDE_CONTEXT_PATHback to summary
public static final String INCLUDE_CONTEXT_PATH

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
INCLUDE_MAPPINGback to summary
public static final String INCLUDE_MAPPING

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 4.0
INCLUDE_PATH_INFOback to summary
public static final String INCLUDE_PATH_INFO

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
INCLUDE_QUERY_STRINGback to summary
public static final String INCLUDE_QUERY_STRING

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
INCLUDE_REQUEST_URIback to summary
public static final String INCLUDE_REQUEST_URI

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0
INCLUDE_SERVLET_PATHback to summary
public static final String INCLUDE_SERVLET_PATH

The name of the request attribute that should be set by the container when the include(ServletRequest, ServletResponse) method is called on the RequestDispatcher obtained by a path and not by a name. It provides information on the path that was used to obtain the RequestDispatcher instance for this include call. See the chapter "Included Request Parameters" in the Servlet Specification for details.

Since
Servlet 3.0

Method Detail

forwardback to summary
public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException

Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. This method allows one servlet to do preliminary processing of a request and another resource to generate the response.

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.

Parameters
request:ServletRequest

a ServletRequest object that represents the request the client makes of the servlet

response:ServletResponse

a ServletResponse object that represents the response the servlet returns to the client

Exceptions
ServletException:
if the target resource throws this exception
IOException:
if the target resource throws this exception
IllegalStateException:
if the response was already committed
includeback to summary
public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException

Includes the content of a resource (servlet, JSP page, HTML file) in the response. In essence, this method enables programmatic server-side includes.

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.

Parameters
request:ServletRequest

a ServletRequest object that contains the client's request

response:ServletResponse

a ServletResponse object that contains the servlet's response

Exceptions
ServletException:
if the included resource throws this exception
IOException:
if the included resource throws this exception