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 2005/11/09 12:59:31 UTC

DO NOT REPLY [Bug 37424] New: - welcome-file list not working with extensions

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37424>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37424

           Summary: welcome-file list not working with extensions
           Product: Tomcat 5
           Version: Unknown
          Platform: Other
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: petermenzel@gmx.de


When a client requests a partial uri in a webapp with no matching static
resource or servlet/jsp in the DD, Tomcat should process the <welcome-file list>
in the DD and append each <welcome-file> entry to the partial request. After
appending Tomcat should look for a matching static resource or servlet. [1]

Problem as follows:
When using a <welcome-file>foo.bar</welcome-file> and having a servlet matching
the pattern *.bar, this servlet is not invoked.
Using a normal path extension in the welcome file works.

working:
<servlet-mapping>
    <servlet-name>BarServlet</servlet-name>
    <url-pattern>/home</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>home</welcome-file>
</welcome-file-list>

not working:
<servlet-mapping>
    <servlet-name>BarServlet</servlet-name>
    <url-pattern>*.bar</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>foo.bar</welcome-file>
</welcome-file-list>

I know that the deafult servlet maps to <url-pattern>/</url-pattern> so that it
will be invoked before any extension matching servlet, when accessing
http://example.com/mywebapp/ , but when going deeper in the directory structure
the BarServlet should be invoked when accessing e.g.
http://example.com/mywebapp/buzz/ .
The partial request "/buzz/" should be extended by "foo.bar" becoming
"/buzz/foo.bar" and a match with *.bar should invoke BarServlet.

I used Tomcat 5.5.12.

Regards, Peter Menzel

[1] The Servlet spec 2.4 (SRV 9.10) states: "The web server must append each
welcome file in the order specified in the DD to the partial request and check
whether a static resource or servlet in the WAR is mapped to that request URI."

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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