首页 文章

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

提问于
浏览
0

我有一个servlet web应用程序,在tomcat中有上下文路径"/cas" .
当我访问“http://localhost:8080/cas ", tomcat will redirect to " http://localhost:8080/cas/”时 .
是否在任何文档中指定了此行为?
是否有"/cas"的servlet?

1 回答

  • 1

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

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

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

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

相关问题