我试图用谷歌搜索这个问题,但是,似乎谷歌搜索引擎将其读取为某些特殊字符。
那么将服务器映射到“ /”和“ / *”之间有什么区别?
最佳答案
SRV.11.2 Specification of Mappings
以‘/’
字符开头并以‘/*’
后缀结尾的字符串用于路径映射。
以‘*.’
前缀开头的字符串用作扩展名
映射。
仅包含‘/’
字符的字符串表示“默认”
应用程序的servlet。在这种情况下,servlet路径是
请求URI减去上下文路径,并且路径信息为null。
所有其他字符串仅用于完全匹配。
我的重点
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果看到映射
XServlet
匹配所有请求,并且每个请求都命中XServlet
在哪里
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
现在,
XServlet
是我的默认应用程序servlet,它为static
资源提供服务。只是为了澄清进一步的混乱:How to access static resources when mapping a global front controller servlet on /*