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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39148512/article/details/79391542

为什么说被多人误解,因为大多人都把配置“/”理解成不能拦截后缀名的,其实这种理解是错误的!

它其实也能拦截“.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 />

猜你喜欢

转载自blog.csdn.net/weixin_39148512/article/details/79391542
今日推荐