Tomcat不会在Web应用程序的上下文中添加斜杠
如果不输入url,我希望Tomcat自动在我的应用程序上下文中添加一个斜杠。
当我使用Jetty进行测试时,它会自动在应用程序的上下文中添加斜杠,但是Tomcat不会这样做。
我不确定一旦部署将命名上下文,因为我会将WAR交给其他人,因此HTML中的任何资源引用都是相对的。有什么方法可以让Tomcat自动添加重定向尾号到相同的上下文?
当前在Spring 3中使用Tomcat 7。
回答:
这是旧文章,但是从Tomcat 7.0.67开始,您需要在context.xml文件中添加以下属性:
<Context mapperContextRootRedirectEnabled="true">...</Context>
根据7.0.67更新日志:
移动为上下文根和目录提供重定向的功能,其中将尾随/从映射器添加到DefaultServlet。这样,在进行重定向之前,任何配置的Valves和Filters都可以处理此类请求。可以通过Context的mapperContextRootRedirectEnabled和mapperDirectoryRedirectEnabled属性来配置此行为,这些属性可用于还原以前的行为。
并且在Tomcat上下文文档中:
mapperContextRootRedirectEnabled:如果启用,则对Web应用程序上下文根的请求将在需要时由Mapper而不是默认Servlet重定向(添加斜杠)。这更有效,但具有确认上下文路径存在的副作用。如果未指定,则使用默认值false。
以上是 Tomcat不会在Web应用程序的上下文中添加斜杠 的全部内容, 来源链接: utcz.com/qa/417791.html