Chris,

A struts forward is an internal handoff, unless redirect="true", allowing
the next page, JSP, etc. to have full knowledge of anything submitted with
the HTTP GET or POST page request.  This allows the JSP/page to have full
use of the form (which is usually in request scope) and any objects the
action may have saved in the request scope.

If all display changes were redirects, you would have to put anything you
need to keep into session or application scope and figure out a way to clean
them up when you were done with them so your session objects would remain
within reasonable size limits.  I've read that after the session scope
reaches a certain size, containers such as Tomcat begin having performance
problems.

It can also provide additional security.  I say this because some pages are
safe to have publicly accessible but others are better left hidden, such as
ones related to modifying databases.  After all, it is often easier to use
Struts role authentication to manage access to a JSP than to add JSTL tags
or use taglibs to lock down portions of a JSP.  I tried it once and found it
made for a very messy and difficult to read JSP.  Using a forward, you can
put a JSP in the private /WEB-INF/ folder under a directory of your
choosing, such as /WEB-INF/pages and the client will not be able to access
those critical pages directly - not without going through your Struts
actions/authentication first.  All because forwards are usually internal
handoffs that the client and his/her browser are never aware of.

I hope this point of view helps. :)

Regards,
David

-----Original Message-----
From: Chris [mailto:[EMAIL PROTECTED]
Sent: Saturday, October 02, 2004 1:27 PM
To: Struts Users Mailing List
Subject: Why Struts use "forward" instead of "redirect" to "jump" from
one JSP to another?


Hi , all

I am wondering why Struts use "forward" instead of  "redirect"
to "jump" from one JSP to another.

Could anybody give me some hint?

Regards
Chris




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to