Send redirect sends a "location" header to the browser.
The browser then initiates a new request.
Browser requests page AServer says go look for BBrowser requests BServer returns page B The browser knows that it is showing page B.
The address window will have the URL for page B.
With forward, the whole process occurs on the server.
Browser requests page AServer returns page B As far as the browser knows, its looking at page A.
The address window in the browser will show the url
for page A.
Forward should be a little faster because it doesn't involve the extra round trip (small difference, a redirect only returns the headers). It's useful in an MVC
pattern when you want to forward to a
JSP (or other web resource) that you wouldn't want the user trying to access directly.
There are other advantages and disadvantages to both.
[ March 22, 2005: Message edited by: Ben Souther ]