我是 Spring 框架的新手,今天我在 web.xml 文件中遇到了调度程序 servlet 配置,我想出了一个关于 url 模式的问题,比如这种语法 /。那么如果我在tomcat服务器中部署Web应用程序,实际上“/”符号适用于以下内容:host:port/或host:port/myWeb/
问问题
7683 次
1 回答
12
该模式/
将使您的 servlet 成为应用程序的默认 servlet,这意味着它将选择没有另一个完全匹配的每个模式。
URL 模式映射:
- 以 / 字符开头并以
/*
后缀结尾的字符串用于路径映射。- 以前缀开头的字符串
*.
用作扩展映射。- 仅包含字符的字符串
/
表示应用程序的默认servlet。在这种情况下,servlet 路径是请求 URI 减去上下文路径,路径信息是null
.- 所有其他字符串仅用于完全匹配。
路径映射规则:
- 容器将尝试找到请求路径与 servlet 路径的完全匹配。成功的匹配选择 servlet。
- 容器将递归地尝试匹配最长的路径前缀。这是通过使用
/
字符作为路径分隔符一次将路径树下移一个目录来完成的。最长的匹配决定了选择的 servlet。- 如果 URL 路径中的最后一段包含扩展(例如
.jsp
),则 servlet 容器将尝试匹配处理扩展请求的 servlet。.
扩展被定义为最后一个字符之后的最后一段的一部分。- 如果前三个规则都没有导致 servlet 匹配,则容器将尝试提供适合所请求资源的内容。如果为应用程序定义了一个默认servlet,它将被使用。
于 2013-06-28T08:28:39.020 回答