匹配循序 :::::
①
完全匹配
<url-pattern>/test/list.do</url-pattern>
②
路径匹配
<url-pattern>/*</url-pattern>
匹配根路径下的全部请求
③
扩展名匹配
<url-pattern>*.do</url-pattern> 匹配全部 do 结尾的请求
<url-pattern>*.html</url-pattern>
匹配全部
html
结尾的请求
<url-pattern>*</url-pattern>
不能用
*
,否则报错
servlet-mapping 的重要规则:
容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
如果一个请求匹配多个 “ 目录匹配 ” ,容器会选择最长的匹配。
“/”
与
“/*”
的区别
::::::
<url-pattern>/</url-pattern>
会匹配到 /login 这种类型的 url ,不会匹配到模式为 *.jsp 这样的后缀型 url
<url-pattern>/*</url-pattern>
会匹配所有 url :路径型的和后缀型的 url( 包括 /login,*.jsp,*.js 和 *.html 等 )