在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL。配置如下:
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/springmvc.xml
1
springmvc
/
只拦截.do请求配置如下:
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springMVC
*.do
这表示名字为 SpringMVC 的servlet会处理一切的url对应的请求,那么我们怎么让servlet来处理项目中的静态资源呢?这里有两种方法。
1. 另外使用一个servlet来处理静态资源。若我们的资源放置在webapps文件夹下的resources文件夹中,那么我们可以用名字为default的servlet来处理静态资源。因此我们还需要在上述配置的基础上加上以下配置:
default
resources/*
2. 采用spring自带方法。首先找到你定义的那个servlet的xml文件,如需要找到springmvc.xml文件,并在该文件中插入以下配置:
如此就不必另外添加一个mvc来处理静态资源。而mvc知道静态资源所处的位置为resources文件夹。 两种方法都可以将spring mvc配置处理静态资源。
在SpringMVC3.0之后推荐使用一:
说明:
location元素表示webapp目录下的static包下的所有文件;
mapping元素表示以/static开头的所有请求路径,如/static/a 或者/static/a/b;
该配置的作用是:DispatcherServlet不会拦截以/static开头的所有请求路径,并当作静态资源
交由Servlet处理。
也可以使用二:
web.xml里添加如下的配置
default
*.css
default
*.gif
default
*.jpg
default
*.js