Java Reference
In-Depth Information
Figure 2-17.
RequestDispatcher interface
You can get a
RequestDispatcher
in two ways.
Getting a
RequestDispatcher
from a
ServletRequest
RequestDispatcher
from a
ServletContext
Getting a
Getting a RequestDispatcher from a ServletRequest
RequestDispatcher view = request.getRequestDispatcher("bookDetails.jsp");
The
getRequestDispatcher()
method in
ServletRequest
takes a path for the resource to which
the request is being forwarded. If the path begins with a forward slash (/), it is considered by the
container to be starting from the root of the web application. If the path does not begin with the
forward slash, the container considers it relative to the original request.
Getting a RequestDispatcher from a ServletContext
RequestDispatcher view = getServletContext().getRequestDispatcher("/bookDetails.jsp");
The
getRequestDispatcher()
method takes a
String
path for the resource to which you are
forwarding the request. The
RequestDispatcher
, thus obtained from the context or request,
can be used to forward to the resource because the
RequestDispatcher
knows the resource
you are forwarding to, in other words, the resource that was passed as the argument to the
getRequestDispatcher()
. Listing 2-8 illustrates calling forward on a
RequestDispatcher
.
Listing 2-8. Calling forward on RequestDispatcher
RequestDispatcher view = request.getRequestDispatcher("bookDetails.jsp");
view.forward(request, response);
Filters
A
filter
is a reusable Java component that can transform the content of HTTP requests, responses,
and header information. Filters are used for the following:
Accessing static or dynamic content or modifying the request headers before
invoking a request
Intercepting the invocation of a web component after the call is invoked

