Tapestry 5
  1. Tapestry 5
  2. TAP5-1904

Tomcat 7 Deployment Issue: Default Welcome File List Overrides Index component in T5 application

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 5.3.2
    • Fix Version/s: None
    • Component/s: tapestry-core
    • Labels:

      Description

      In Tomcat 7, the root index page/component in T5 application is being overridden by Default Welcome File List.

      For more please see:

      http://tapestry.1045711.n5.nabble.com/Tomcat-7-deployment-TapestryModule-RequestExceptionHandler-Processing-of-request-failed-with-uncaugh-td5637647.html

        Activity

        Hide
        Lance added a comment - - edited

        Adding the following to web.xml might fix it

        <welcome-file-list>
        <welcome-file>Index</welcome-file>
        </welcome-file-list>

        Show
        Lance added a comment - - edited Adding the following to web.xml might fix it <welcome-file-list> <welcome-file>Index</welcome-file> </welcome-file-list>
        Hide
        Uday Kari added a comment -

        Actually, the servlet spec apparently calls for MERGING the welcome file list of application and container. So, this would be a temporary workaround. The correct workaround may be best controlled by
        "resourceOnlyServlets" option in <Context>, see
        http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

        Show
        Uday Kari added a comment - Actually, the servlet spec apparently calls for MERGING the welcome file list of application and container. So, this would be a temporary workaround. The correct workaround may be best controlled by "resourceOnlyServlets" option in <Context>, see http://tomcat.apache.org/tomcat-7.0-doc/config/context.html
        Hide
        Uday Kari added a comment -

        Update from Tomcat guys:

        2012/4/20 Christopher Schultz <chris@christopherschultz.net>:
        > To whom it may concern,
        >
        > On 4/14/12 3:37 PM, Net Dawg wrote:
        >> To your question as to "what point merging algorithms are not
        >> followed", please try this inside your application context and you will
        >> probably see the same:
        >>
        >> <welcome-file-list>
        >> <welcome-file />
        >> </welcome-file-list>
        >>
        >> This seems to tell Tomcat 7, in plain English, "there are no welcome
        >> files, don't bother looking for them anywhere" ...
        >
        > You probably aren't getting a response because you didn't answer the
        > question. Your opinion of how things should work isn't really relevant,
        > here. Konstantin asked where Tomcat's behavior violates the servlet spec
        > and you replied by telling him what you think ought to happen. That's
        > not an answer, so you're being ignored.
        >
        > Can you find a place where your "seems to tell" scenario above is
        > actually supported by language in the servlet specification? If so, tell
        > us where. If the spec isn't clear on a subject, usually the safest thing
        > to do is not change anything because users have become reliant on
        > certain behavior. If and when the spec is clarified, a change will be made.
        >

        1. According to XSD, and as illustrated in Figure 14-9 on page #153
        ("175 of 230") of Servlet 3.0 Rev.a specification, welcome-file-list
        should contain at least one welcome-file element.

        2. welcome-file type is xsd:string and said "contains file name to use
        as a default welcome file".

        So an empty string formally passes the XSD, but I nowhere see an
        explicit saying on how to handle it. It certainly is not a "file
        name", but it passes the restriction of not having leading or trailing
        '/'.

        The algorithm in ch. 10.10 may work with empty strings (running a
        fruitless loop - looking for a resource that is already known to not
        exist), but I am not sure that it is a well-defined behaviour.

        I'd be nice to have this clarified from the specification team (elsewhere).

        3. According to chapter 8.1.6 (page #64, 86/230) of the same spec,
        welcome file list defaults to contain index.htm(l) and index.jsp.

        Best regards,
        Konstantin Kolinko

        Show
        Uday Kari added a comment - Update from Tomcat guys: 2012/4/20 Christopher Schultz <chris@christopherschultz.net>: > To whom it may concern, > > On 4/14/12 3:37 PM, Net Dawg wrote: >> To your question as to "what point merging algorithms are not >> followed", please try this inside your application context and you will >> probably see the same: >> >> <welcome-file-list> >> <welcome-file /> >> </welcome-file-list> >> >> This seems to tell Tomcat 7, in plain English, "there are no welcome >> files, don't bother looking for them anywhere" ... > > You probably aren't getting a response because you didn't answer the > question. Your opinion of how things should work isn't really relevant, > here. Konstantin asked where Tomcat's behavior violates the servlet spec > and you replied by telling him what you think ought to happen. That's > not an answer, so you're being ignored. > > Can you find a place where your "seems to tell" scenario above is > actually supported by language in the servlet specification? If so, tell > us where. If the spec isn't clear on a subject, usually the safest thing > to do is not change anything because users have become reliant on > certain behavior. If and when the spec is clarified, a change will be made. > 1. According to XSD, and as illustrated in Figure 14-9 on page #153 ("175 of 230") of Servlet 3.0 Rev.a specification, welcome-file-list should contain at least one welcome-file element. 2. welcome-file type is xsd:string and said "contains file name to use as a default welcome file". So an empty string formally passes the XSD, but I nowhere see an explicit saying on how to handle it. It certainly is not a "file name", but it passes the restriction of not having leading or trailing '/'. The algorithm in ch. 10.10 may work with empty strings (running a fruitless loop - looking for a resource that is already known to not exist), but I am not sure that it is a well-defined behaviour. I'd be nice to have this clarified from the specification team (elsewhere). 3. According to chapter 8.1.6 (page #64, 86/230) of the same spec, welcome file list defaults to contain index.htm(l) and index.jsp. Best regards, Konstantin Kolinko

          People

          • Assignee:
            Unassigned
            Reporter:
            Uday Kari
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development