您的位置:首页 > 其它

被多人误解的url-pattern配置为"/"和"/*"的区别

2018-02-27 18:04 316 查看
为什么说被多人误解,因为大多人都把配置“/”理解成不能拦截后缀名的,其实这种理解是错误的!
它其实也能拦截“.js”,“.css”,".png"等静态资源的访问。
为什么?
因为<url-pattern>/</url-pattern>在Tomcat服务器是默认的servlet;通过查看Tomcat web.xml可得知,



它除了能够处理静态资源还能够处理HTTP缓存请求,媒体(音频/视频)数据流和文件下载简历。所以如果我们的项目中配置了"/",会覆盖掉tomcat中的default servlet。

所以当springMVC的前端控制器配置为“/”时,需要在主配置文件中配置放行静态资源。
第一种:
<!-- 放行静态资源 -->
<mvc:resources location="/js/" mapping="/js/**"/> 
<mvc:resources location="/css/" mapping="/js/**"/>
 <mvc:resources location="/images/" mapping="/js/**"/>

第二种:
<mvc:default-servlet-handler />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  filter web.xml