RequestDispatcher.include()
|
RequestDispatcher.forward()
|
include
method leaves the output stream open.
|
forward method will close the output stream after it has been
invoked
|
the
output stream remains open, so you can call on as many different files to
generate client side markup that you need. So you can include two or three
JSP files and even a Servlet in the chain of components that generate client
based markup. When you use an include, the output stream is not closed after
invocation.
|
If you
are doing processing in a server side component, and then forward to a JSP or
Servlet in order to generate markup for a client, once that JSP or Servlet
has finished processing, you can no longer call on any other components to
generate markup that can be sent to the client. Once you have performed a
forward, markup generation for the current request and response cycle is
finished.
|
it sounds nice to have an
open stream, and be able to call includes on multiple resources, but this
typically is not a good practice. Having a server side controller invoking
multiple resources for markup can get messy and be difficult to manage
|
it is usually best to
forward to a single server-side artifact and have it generate markup for the
client, and simply accept the fact that the generation of client-side markup
has completed.
|
Thursday, November 29, 2012
include vs forward
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment