Tomcat is not adding trailing slash to web app's context

后端 未结 5 1477
自闭症患者
自闭症患者 2020-12-09 10:10

I\'d like to have Tomcat automatically add a trailing slash to my app\'s context if the url is entered without it.

When I test with Jetty, it automatically adds the

5条回答
  •  孤街浪徒
    2020-12-09 10:16

    It's an old post, but as of Tomcat 7.0.67, you need to add the following attribute to your context.xml file:

    ...
    

    As per the 7.0.67 changelog:

    Move the functionality that provides redirects for context roots and directories where a trailing / is added from the Mapper to the DefaultServlet. This enables such requests to be processed by any configured Valves and Filters before the redirect is made. This behaviour is configurable via the mapperContextRootRedirectEnabled and mapperDirectoryRedirectEnabled attributes of the Context which may be used to restore the previous behaviour.

    And in the Tomcat context documentation:

    mapperContextRootRedirectEnabled: If enabled, requests for a web application context root will be redirected (adding a trailing slash) if necessary by the Mapper rather than the default Servlet. This is more efficient but has the side effect of confirming that the context path exists. If not specified, the default value of false is used.

提交回复
热议问题