Tapestry
  1. Tapestry
  2. TAPESTRY-1595

Add support for ignoring paths that belong to other servlets in the web application

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.0.8
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      For pages not handled by Tapestry, it should pass control along to next filter in chain, which it does for paths that do not contain '.' or ':'. For example, if '/foo/bar' is not a page recognized by Tapestry, a URI with the path

      /foo/bar/image.gif

      will cause an 'IllegalArgumentException' with the message 'Unable to resolve page 'foo/bar/image' to a known page name. ...'

      while

      /foo/bar/image_gif

      will be properly forwarded to the filters after TapestryFilter.

      The problem seems to be that 'ComponentActionDispatcher' will attempt to process any path that contains '.' or ':', unlike 'PageRenderDispatcher' which explicitly checks that it recognizes a prefix of the path.

        Issue Links

          Activity

          Hide
          Howard M. Lewis Ship added a comment -

          The filter automatically ignores real resources in the web context.

          I think what we need is a filter, within Tapestry, about additional paths that should defer to the servlet container.

          I think a service with a configuration in the form of a bunch of regular expressions would get the job done.

          It would be better if Tapestry could adapt to what's present in web.xml, but the Servlet API doesn't give access to that. Maybe Servlet API 3.0.

          Show
          Howard M. Lewis Ship added a comment - The filter automatically ignores real resources in the web context. I think what we need is a filter, within Tapestry, about additional paths that should defer to the servlet container. I think a service with a configuration in the form of a bunch of regular expressions would get the job done. It would be better if Tapestry could adapt to what's present in web.xml, but the Servlet API doesn't give access to that. Maybe Servlet API 3.0.
          Hide
          Douglas Hauge added a comment -

          The response page containing the exception description and stack trace.

          Show
          Douglas Hauge added a comment - The response page containing the exception description and stack trace.

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Douglas Hauge
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development