SpringMVC 拦截器不拦截静态资源的三种处理方式方法

 

方案一、拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml)

 

 
 
 

 

  
    
    
    
    
    
    
    
    
    
    
    
  

 

 

方案二、使用默认的静态资源处理Servlet处理静态资源(涉及spring-mvc.xml, web.xml)

1、在spring-mvc.xml中启用默认Servlet

2、在web.xml中增加对静态资源的处理

 

  
  default  
  *.js  
  *.css  
  /assets/*"  
  /images/*  

 

但是当前的设置必须在Spring的Dispatcher的前面

 

方案三、修改Spring的全局拦截设置为*.do的拦截(涉及web.xml)

 


  SpringMVC
  org.springframework.web.servlet.DispatcherServlet
  
    contextConfigLocation
    classpath:spring-mvc.xml
  
  1
  true


  SpringMVC
  *.do

这样设置,Spring就会只针对以'.do'结尾的请求进行处理,不再维护静态资源

针对这三种方案的优劣分析:

第一种方案配置比较臃肿,多个拦截器时增加文件行数,不推荐使用;第二种方案使用默认的Servlet进行资源文件的访问,Spring拦截所有请求,然后再将资源文件交由默认的Sevlet进行处理,性能上少有损耗;第三种方案Spring只是处理以'.do'结尾的访问,性能上更加高效,但是再访问路径上必须都以'.do'结尾,URL不太文雅;

本文转载自:墨飞_Max博客:https://www.cnblogs.com/mophy/p/8465598.html

你可能感兴趣的:(springmvc)