tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 6208] - Bug in Tomcat's implementation of the sendRedirect method of the HttpServletResponse interface
Date Wed, 06 Feb 2002 04:22:31 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6208>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6208

Bug in Tomcat's implementation of the sendRedirect method of the HttpServletResponse interface

brentboyer@hotmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |



------- Additional Comments From brentboyer@hotmail.com  2002-02-06 04:22 -------
Remy writes:

>Send redirect doesn't really do that (look at the javadocs).

I disagree.  To quote from the javadocs (taken from the latest Servlet 2.3 spec):

	public void sendRedirect(java.lang.String location)
					  throws java.io.IOException

		Sends a temporary redirect response to the client using the specified
		redirect location URL. This method can accept relative URLs...
		[discussion of relative URL handling ommitted]

The first sentence above ("Sends a temporary redirect response...") says that it
ought to do what I originally stated in my bug report.

The next sentence states that the redirect Url CAN be, but does not HAVE to be,
relative.

Therefore, I conclude that as far as the javadocs go, I should be able to call
	res.sendRedirect("jar:http://somehost/controllerMoz.jar!/controllerMoz.html");
as stated in my original bug report.

Now, in my original code, before I had to worry about digital signatures, I used
relative Urls, doing stuff like
	res.sendRedirect("/controllerMoz.html");
which always worked.

I just did an additional test with an http: absolute Url, 
	res.sendRedirect("http://somehost/controllerMoz.html");
and the above also works fine; here is what the log file reports back for the
response's header value:
	header=Location=http://166.84.156.61/controllerMoz.html
which is exactly what I would expect.

So tell me why http: protocol abosolute Urls should work just fine, but jar:
protocol Urls get mutilated to just
	header=Location=jar:
(when the response's header should be
	header=Location=jar:http://somehost/controllerMoz.jar!/controllerMoz.html
)

Clearly, tomcat is somehow treating jar: absolute Urls differently than http:
absolute Urls.

Therefore, I maintain that this behavior is a bug, and I am reopening it.


>Instead, set the header and the status code yourself, and it should work.

OK -- that should constitute a reasonable workaround of the bug.  Thanks for the
suggestion (it is better than an uglier workaround that I thought of).

--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message