为什么tomcat用斜杠重定向上下文路径?

时间:2018-06-08 03:36:20

标签: tomcat servlets

我在tomcat中有一个带有上下文路径“/ cas”的servlet Web应用程序 当我访问“http://localhost:8080/cas”时,tomcat将重定向到“http://localhost:8080/cas/” 是否在任何文件中指明了此行为?
是否有“/ cas”的servlet?

1 个答案:

答案 0 :(得分:1)

它返回一个重定向,因为它们是Java Servlet规范rev 3.0中 12.1 URL路径的使用部分中指定的规则。它在所有其他Servlet规范版本中也存在(在不同的编号下)。

/cas/cas/之间存在差异。其中一个对您的应用程序不可见(即,您可以映射的url-pattern不会导致Web应用程序中的资源响应)而另一个将被您的应用程序视为/

如果您将/cas应用程序中的ROOT映射到某个东西,Tomcat将忽略它,因为有一个覆盖它的最长匹配规则(映射到/cas的上下文),所以你的/cas应用程序将覆盖您在ROOT应用程序中映射的内容。

根据定义,/cas请求是一个没有尾随/的目录请求,因此Tomcat会执行添加/的重定向。然后部分 10.10欢迎文件开始发挥作用,Tomcat将检查您的应用程序以确定下一步该做什么。