ingo schuster wrote:
> 
> At 12:16 01/20/01, Mirko Buholzer wrote:
> >Hi all ...
> >
> >Just for Information, you can redirect a request in a Servlet like this:
> >
> >public void doGet(HttpServletRequest request, HttpServletResponse
> >response) {
> >
> >         response.setContentType("text/html");
> >         response.setStatus(response.SC_MOVED_TEMPORARILY);
> >         response.setHeader("Location", "/jetspeed/portal/screen/Home");
> >}
> 
> Ok, what you're saying is that all forms could post the data to
> /screen/<xy>/action/<z> and if the action was executed successfully, it
> redirects to /screen/Home (or whatever else you want). In this case the
> last request results from a redirect operation and not from a post request
> so that a reload doesn't trigger a repost of data.
> I'll try this. What about the URL? If I do it like this, will the browser
> change its URL or will it still display /screen/<xy>/action/<z> after the
> redirect?
>

Depends on the HTTP server. If you use the previous code with Apache, I 
think that Apache handled the redirect itself because it's not a legal
URL. Other HTTP servers don't do it usually and expect the client to handle 
this kind of links.

HTTP spec says the Location header sent to a client should always be
a full URL.

BTW, the example code breaks the URL session handling that may be 
configured on the servlet container.

The code should be:

response.sendRedirect(response.encodeRedirectURL(<whateverURL>));


--
Raphaël Luta - [EMAIL PROTECTED]
Vivendi Universal Networks - Services Manager / Paris


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/[email protected]/>
List Help?:          [EMAIL PROTECTED]

Reply via email to