SpringMVC提供
方案一、拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
方案二、使用默认的静态资源处理Servlet处理静态资源(涉及spring-mvc.xml, web.xml)
在spring-mvc.xml中启用默认Servlet
1
在web.xml中增加对静态资源的处理
1
2 default
3 *.js
4 *.css
5 /assets/*"
6 /images/*
7
但是当前的设置必须在Spring的Dispatcher的前面
方案三、修改Spring的全局拦截设置为*.do的拦截(涉及web.xml)
1
2 SpringMVC
3 org.springframework.web.servlet.DispatcherServlet
4
5 contextConfigLocation
6 classpath:spring-mvc.xml
7
8 1
9 true
10
11
12 SpringMVC
13 *.action
14
这样设置,Spring就会只针对以'.do'结尾的请求进行处理,不再维护静态资源
针对这三种方案的优劣分析:
第一种方案配置比较臃肿,多个拦截器时增加文件行数,不推荐使用;
第二种方案使用默认的Servlet进行资源文件的访问,Spring拦截所有请求,然后再将资源文件交由默认的Sevlet进行处理,性能上少有损耗;
第三种方案Spring只是处理以'.action'结尾的访问,性能上更加高效,但是再访问路径上必须都以'.action'结尾,URL不太文雅;
综上所述,推荐使用第二和第三种方案
在SpringMVC3.0之后推荐使用: