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

  • Post author:
  • Post category:其他


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

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



版权声明:本文为weixin_39148512原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。