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 is setattribute in servlet?
What methods do you use in servlet - applet communication?
Hello, My project requirement is like I need to create a web page using MVC pattern. I hava a bean class, jsp page, servlet, service and dao. My jsp has two fields. One is dropdown list. The option values has to get populated from the database table. The other one is a text box and its value has to come from database table. As of now I have defined the fields in bean class, got the values from database using arraylists in dao class and I called this from service class. Can anyone please tell me the workflow of how the servlet will get this arraylist and populate the arraylist values as dropdown options in jsp page? Also I would like to know the role of bean class in MVC pattern? Thanks in advance!
What is servlet in simple terms?
What is the use of httpservletrequestwrapper and httpservletresponsewrapper?
What is servlet initializer?
What are the differences between servlet context vs servlet config?
What are the annotations used in servlet 3?
What is the default http method in the servlet?
What is a server side include (ssi)
What are the uses of servlet and what is servlet chaining?
What mechanisms are used by a Servlet Container to maintain session information?
What is the requirement of servlet config and servlet context implemented and how are they implemented?
Which method is called when reference variable is passed in system.net?
What are the differences between the servletconfig interface and the servletcontext interface?