Pat*_*Pat 29
这是一个旧帖子,但是从Tomcat 7.0.67开始,您需要将以下属性添加到context.xml文件中:
<Context mapperContextRootRedirectEnabled="true">...</Context>
Run Code Online (Sandbox Code Playgroud)
根据7.0.67 更改日志:
移动为上下文和目录提供重定向的功能,其中尾随/从Mapper添加到DefaultServlet.这样,在重定向之前,任何已配置的阀门和过滤器都可以处理此类请求.此行为可通过Context的mapperContextRootRedirectEnabled和mapperDirectoryRedirectEnabled属性进行配置,这些属性可用于恢复先前的行为.
并在Tomcat上下文文档中:
mapperContextRootRedirectEnabled:如果启用,将在必要时由Mapper而不是默认Servlet重定向(添加尾部斜杠)对Web应用程序上下文根的请求.这更有效,但具有确认上下文路径存在的副作用.如果未指定,则使用默认值false.
小智 6
您的应用程序的web.xml似乎已映射到"/*".servlet映射"/*"导致tomcat按原样将请求传递给Web应用程序(即不重定向).
要正确重定向,必须将"/*"映射更改为just "/",后者表示默认servlet.
Tomcat自动添加尾部斜杠.只需使用Tomcat提供的示例应用程序进行测试即可.
如果 - 由于某些特殊配置 - 它没有,我会编写一个过滤器来检查查询字符串并根据应用程序的需要重定向.很多时候这是必要的(做http-> https重定向等)
| 归档时间: |
|
| 查看次数: |
15946 次 |
| 最近记录: |