Spring MVC 拦截 js,css,png 等资源
springMVC的<mvc:resources mapping="***" location="***">标签是在spring3.0.4出现的,主要是用来定义对静态资源的访问。
上网搜了一下跟这个配置相关的文章,大多推荐用下面这种。可是,用这种的话,如果有一个新目录,就得新增一条配置,比较麻烦。
<!-- For static resources --> <mvc:resources mapping="/image/**" location="/images/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/css/**" location="/css/" /> <mvc:resources mapping="/html/**" location="/html/" /> <mvc:resources mapping="/software/**" location="/software/" />
下面这种是直接根据静态文件的后缀来配置的,比较通用,不用为每个子目录配置一个:
<mvc:resources location="/" mapping="/**/*.html"/> <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping="/**/*.css"/> <mvc:resources location="/" mapping="/**/*.png"/> <mvc:resources location="/" mapping="/**/*.gif"/>
(原创文章,转载请注明转自Clement-Xu的csdn博客。)
版权声明:本文为原创文章,转载请注明转自Clement-Xu的csdn博客。
来源:http://blog.csdn.net/tlin2011/article/details/45482463
spring mvc 配置为:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
时,当直接访问png,jpg等资源时,也会拦截, web.xml 加入如下配置 则web服务器会处理,不会被spring 拦截
亲测:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
另外: 不知为何加入<mvc:resources mapping="/images/**" location="/images/" /> 可以访问资源,但是访问不了 controller了
作 者:imsoft
Email:imsofter#163.com
出处:http://www.cnblogs.com/imsoft/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。如果觉得本文对您有益,欢迎点赞、欢迎探讨。本博客来源于互联网的资源,若侵犯到您的权利,请联系博主予以删除。