1 web.xml 中 加载顺序 是 context-param --listener---filter--serverlet
2 filter 中 如果有相同的url-pattern ,会按照filter-mapping 的 先后顺序执行,直至结束;
3 url 匹配原则:
requestUrl : http://localhost:8080/x/y/aaa.action
(1 首先找serverlet url-pattern 为/aaa的 进行匹配,而且不会再次进行查找匹配,只进行一次(最大精准度匹配)
(2 有两个url-pattern /x/* 和/x/y/* ,如果请求路径为 http://localhost:8080/x/y/aaa时 那么就会匹配第二个 只进行一次(最大相似度匹配)
(3 如果包括扩展匹配 就会匹配 /*.action
4 url-pattern 规则
以"/" 开头 并且 "/*" 结尾 是用来做路径映射的
以"*."开头是用来做扩展映射的
以"/"单个斜杠是 用来做缺省serverlet映射的
其余就是只有详细映射了如aaa.action
当以 "/*.action" 作为 url-pattern 时 即是 路径映射,又是 扩展 映射 所以 导致容器 无法判断