我根据映射行为提出了一个问题。
如果有这些映射:
<servlet-mapping>
<servlet-name> ServletA </servlet-name>
<url-pattern> *.xml </url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name> ServletB </servlet-name>
<url-pattern> /result/* </url-pattern>
</servlet-mapping>
还有这个HTTP-Request:
/result/example.xml
将映射哪个servlet以及为什么?
答案 0 :(得分:0)
根据您的<servlet-mapping>
配置,/result/example.xml
的请求将由ServletB
处理,因为路径匹配总是胜过扩展匹配。
这是因为扩展匹配被认为是一个更宽松的(不是输家,虽然它也有效:)限制因为它与站点匹配相比,它与目标特定目录及其后代的路径匹配相比,因此更具体的性质。
匹配优先级如下:
/
来处理所有404)