本文共 697 字,大约阅读时间需要 2 分钟。
仔细学习一下
匹配循序 :::::
① 完全匹配
<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 等 )
在web.xml配置servlet-mapping的时候,如果url-pattern设置为“/” html 静态页面404
解决方法:在web.xml文件,增加对静态资源的url映射
还有其他解决方法:default *.html
转载地址:http://gonmi.baihongyu.com/