You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/12/08 21:47:10 UTC

DO NOT REPLY [Bug 25338] New: - URI Rewrite does not function according to Servlet2.3 specifications (jsession= , servlet-mapping & filter-mapping)

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=25338>.
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=25338

URI Rewrite does not function according to Servlet2.3 specifications (jsession= , servlet-mapping & filter-mapping)

           Summary: URI Rewrite does not function according to Servlet2.3
                    specifications (jsession= , servlet-mapping & filter-
                    mapping)
           Product: Tomcat 4
           Version: Unknown
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: paulkossler@yahoo.com


A URI is improperly distpatched when the ;jsession=xxx is added to the URI.
  The catalina lookup uses everything from the URI:hostname:port to the ? 
delimiter to define a "resource".  When ;jsession=xxx is added upon the uri for 
return the resource is not found.  The published FIX is to enable the apache-
web-server's mod_rewrite and have the webserver fix this for tomcat... this is 
an inappropriate fix.  Since tomcat is bundled in Jboss as a stand-alone 
webservice (and when tested in stand-alone, without apache), it can not use the 
apache-mod_rewrite hack.  The catalina module needs to correctly handle the 
resource information, if the ;jsession=xxx is not within spec, then for 
compliance to spec this habit will have to change.

  Another bug discovered while debugging this issue... 

  The filter-mapping /* does not filter calls to the traditional servlet-
mapping="*.do" for struts.  This breaks the filter-mapping concept.  Luckily 
for me the ;jsession=xxx bug is not caught by the servlet *.do mapping and my 
filter can catch this to reroute it to the appropriate resource.

I suggest looking into the Catilina dispatcher and uri parsing semantics
I do not have time to fully debug this :(

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