What is the difference between RequestDispatcher and
sendRedirect?-
Answer Posted / qim2010
The forward method of RequestDispatcher will forward the
ServletRequest and ServletResponse that it is passed to the
path that was specified in getRequestDispatcher(String
path). The response will not be sent back to the client and
so the client will not know about this change of resource on
the server. This method is useful for communicating between
server resources, (servlet to servlet). Because the request
and response are forwarded to another resource all request
parameters are maintained and available for use. Since the
client does not know about this forward on the server, no
history of it will be stored on the client, so using the
back and forward buttons will not work. This method is
faster than using sendRedirect as no network round trip to
the server and back is required.
An example using forward:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
RequestDispatcher rd =
request.getRequestDispatcher("pathToResource");
rd.forward(request, response);
}
The sendRedirect(String path) method of HttpServletResponse
will tell the client that it should send a request to the
specified path. So the client will build a new request and
submit it to the server, because a new request is being
submitted all previous parameters stored in the request will
be unavailable. The client's history will be updated so the
forward and back buttons will work. This method is useful
for redirecting to pages on other servers and domains.
An example using sendRedirect:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.sendRedirect("pathToResource");
}
| Is This Answer Correct ? | 3 Yes | 1 No |
Post New Answer View All Answers
What do you mean by chaining in servlet?
What are the difference between session and cookies in servlet? Explain
What do you mean by cgi?
What is the procedure for initializing a servlet?
What is the directory structure of web application?
What is a servlet context?
How do we go with database connection and log4j integration in servlet?
How many objects of a servlet is created?
What is context in servlet?
What is webservlet?
Difference between forward() method and sendredirect() method ?
What’s the difference between sendredirect and forward methods
What are the benefits of using servlet over cgi?
Difference between java beans & servlets?
What are all the advantages of servlet over cgi?