2015-10-22 20:55 GMT+03:00 Christopher Schultz <ch...@christopherschultz.net>: > All, > > On 10/14/15 11:03 PM, Christopher Schultz wrote: >> All, >> >> On 7/3/15 1:40 PM, Christopher Schultz wrote: >>> Running Tomcat 8.0.x trunk as of 1688887 (slightly old) on >>> jdk1.8.0_45 on Mac OS X, I'm having intermittent problems with >>> Tomcat appearing not to change a relative URL into a >>> fully-qualified URL for redirection purposes. >> >>> Since it's intermittent, it's hard to catch. But I just found a >>> case. >> >>> I have an HttpServletResponseWrapper that logs calls to >>> sendRedirect() by dumping-out the URL that was passed-into the >>> sendRedirect method. >> >>> [snip] >> >>> [HttpServletResponse.sendRedirect or similar is ruining my redirect >>> URL, so the hostname is being obliterated and I get >>> http://context/path/to/page instead of >>> http://localhost/context/path/to/page] >> >> I'm having this problem, again. This time with an updated 8.0.x trunk >> (pretty much 8.0.27). >> >> It might be a problem with securityfilter, which is trying to do this: >> >> // redirect to login page >> response.sendRedirect(response.encodeRedirectURL(request.getContextPath( >> ) >> + loginPage)); >> <...> > > Any idea what might be causing Tomcat to return "/" + context path when > ServletContext.getContextPath() is called?
It seems that you are confusing two different methods, (1) HttpServletRequest.getContextPath() (2) ServletContext.getContextPath(), @since Servlet 2.5 (1) returns the actual value from client's request, as is (2) returns "canonical" value (2) is always the same, (1) varies Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org