静态资源过滤中拦截器、视图解析器、地址传值的冲突问题

静态资源过滤的三种方法

1拦截器排除

<mvc:resources location="/" mapping="/**/*.js"/>  
 <mvc:resources location="/" mapping="/**/*.css"/>  
 <mvc:resources location="/assets/" mapping="/assets/**/*"/>  
 <mvc:resources location="/images/" mapping="/images/*" cache-period="360000"/>
 
 <mvc:interceptors>
     <mvc:interceptor>
         <mvc:mapping path="/**/*"/>
         <mvc:exclude-mapping path="/**/fonts/*"/>
         <mvc:exclude-mapping path="/**/*.css"/>
         <mvc:exclude-mapping path="/**/*.js"/>2         <mvc:exclude-mapping path="/**/*.png"/>
         <mvc:exclude-mapping path="/**/*.gif"/>
         <mvc:exclude-mapping path="/**/*.jpg"/>
         <mvc:exclude-mapping path="/**/*.jpeg"/>
      <mvc:exclude-mapping path="/**/*login*"/>
        <mvc:exclude-mapping path="/**/*Login*"/>
       <bean class="com.luwei.console.mg.interceptor.VisitInterceptor"></bean>
     </mvc:interceptor>
 </mvc:interceptors>

2启用默认servlet管理(必须配置在mvcservlet前面)

<servlet-mapping>    
     <servlet-name>default</servlet-name>    
     <url-pattern>*.js</url-pattern>    
     <url-pattern>*.css</url-pattern>    
     <url-pattern>/assets/*"</url-pattern>    
     <url-pattern>/images/*</url-pattern>    
 </servlet-mapping>
<mvc:default-servlet-handler/>

3修改Spring的全局拦截设置为*.do的拦截

<servlet>
      <servlet-name>SpringMVC</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring-mvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
      <async-supported>true</async-supported>
 </servlet>
<servlet-mapping>
     <servlet-name>SpringMVC</servlet-name>
     <url-pattern>*.do</url-pattern>
 </servlet-mapping>

4三种对比

第一种太费劲排除
第三种当地址传值时,会出现问题
推荐第二种,不过一定要放在mvcservlet前面

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容