Spring对css、img、js等静态文件拦截的解决办法

来源:互联网 发布:乐视1s移动数据开关 编辑:程序博客网 时间:2024/04/30 07:18
Spring对css、img、js等静态文件拦截的解决办法
    
    方法一:修改拦截方式
       将Spring的拦截方式有/*改为*.action或者是*.do
    方法二:激活Tomcat的defaultServlet来处理静态文件>
     <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>
    要配置多个,每种文件配置一个要写在DispatcherServlet的前面,让defaultServlet先拦截,
 这个就不会进入Spring了。

 Tomcat, Jetty, JBoss, and GlassFish默认 Servlet的名字 -- "default"
 Google App Engine 默认 Servlet的名字 -- "_ah_default"
    方法三:在spring3.0.4以后版本提供了mvc:resources
    <!-- 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/" />  </span></span>
    下面这种是直接根据静态文件的后缀来配置的,比较通用,不用为每个子目录配置一个:    
    <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"/></span></span>



0 0
原创粉丝点击