You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Paolo Barolat-Romana <pm...@drexel.edu> on 2001/03/08 22:03:59 UTC
request.sendRedirect()
I am trying to understand the behavior of sendRedirect(). The Servlet
Spec states:
The sendRedirect method will set the appropriate headers and content
body to direct the
client to a different URL. It is legal to call this method with a
relative URL path, however the
underlying container must translate the relative path to a fully
qualified URL for transmission back
to the client. If a partial URL is given and, for whatever reason,
cannot be converted into a valid
URL, then this method must throw an IllegalArgumentException.
What I find somewhat ambiguous is the line "the underlying container
must translate the relative path to a fully qualified URL". Does this
the container should insert the context path in the URL? That is,
suppose I have an application whose root is /Test. In my code, I do the
following:
response.sendRedirect("/ReallyATest");
Should the address sent to the client be:
A) http://myserver/ReallyATest
B) http://myserver/Test/ReallyATest
It seems that Apache follows A. It does not insert the context path.
However, I am also using IBM WebSphere 3.5 and it does B! So, which is
the right one?
For now, I will use the following work around for portability:
response.sendRedirect(request.getRemoteHost() + request.getContextPath()
+ "ReallyATest");
Thanks,
Paolo
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, email: tomcat-user-help@jakarta.apache.org