疑惑总是需要一次艰难的理解,才能够解决的。仔细理解下。参考:http://www.tuicool.com/articles/Bzqa2a 讲的很详细。
版权所有,转载注明。
url-pattern的匹配规则,有点像计算机网络中的路由规则匹配过程,其匹配的不是第一个,而是最优的匹配。
Tomcat启动时,会将web.xml中的配置加载,并进行映射规则整理。当出现访问时,对于访问请求,会采用一个链式的匹配顺序,来匹配所有的处理器的url-pattern。当出现第一个匹配的处理器时,则交给该处理器进行处理。
匹配的顺序如下:
-
Rule 1: 精确匹配 exactWrappers 如
'/test.do'
-
Rule 2: 前缀匹配 wildcardWrappers 如
'/*'
-
Rule 3: 扩展名匹配 extensionWrappers 如
'*.jsp、*.html、*.js'
-
Rule 4: 使用资源文件来处理servlet、welcomeResources
欢迎页面
-
Rule 7: 使用默认的servlet defaultWrapper 默认处理:
'/'
网友评论