您的位置:首页 > 其它

web.xml中url-pattern配置了/ 静态页面404

2015-12-02 20:40 393 查看
仔细学习一下 

匹配循序 :::::

① 完全匹配 

<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映射

[html] view
plaincopy

<servlet-mapping>  

<servlet-name>default</servlet-name>  

<url-pattern>*.html</url-pattern>  

</servlet-mapping>  

还有其他解决方法:http://blog.csdn.net/this_super/article/details/7884383
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: