在进行Spring MVC的配置时,一般咱们会配置一个dispatcher servlet用于处理对应的URL。配置以下:css
- <servlet>
- <servlet-name>mvc-dispatcher</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>mvc-dispatcher</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
这表示名字为mvc-dispatcher的servlet会处理一切的url对应的请求,那么咱们怎么让servlet来处理项目中的静态资源呢?这里有两种方法。html
1. 另外使用一个servlet来处理静态资源。若咱们的资源放置在webapps文件夹下的resources文件夹中,那么咱们能够用名字为default的servlet来处理静态资源。所以咱们还须要在上述配置的基础上加上如下配置:web
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>resources/*</url-pattern>
- </servlet-mapping>
这表示default的servlet会处理url中为resources/*的对应的请求。这样,当你把你的image,css已经其余文件放在resources文件中时,spring就能够找到它啦。spring
2. 采用spring自带<mvc:resources>方法。首先找到你定义的那个servlet的xml文件,如本例子中,servlet的名字叫mvc-dispatcher,所以须要找到mvc-dispatcher-servlet.xml文件,并在该文件中插入如下配置:mvc
- <mvc:annotation-driven/>
- <mvc:resources mapping="/resources/**/" location="/resources/"/>
这样,就没必要另外添加一个mvc来处理静态资源。而mvc知道静态资源所处的位置为resources文件夹。
两种方法均可以将spring mvc配置处理静态资源。app
在SpringMVC3.0以后推荐使用一: webapp
- <!-- 静态资源访问 -->
- <mvc:default-servlet-handler/>
如下两种在SpringMVC3.0以前能够使用url
也能够使用二:spa
- <!-- 静态资源访问
- <mvc:resources location="/img/" mapping="/img/**"/>
- <mvc:resources location="/js/" mapping="/js/**"/>
- <mvc:resources location="/css/" mapping="/css/**"/>
- -->
也能够使用三:.net
web.xml里添加以下的配置
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.css</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.gif</url-pattern>
-
- </servlet-mapping>
-
- <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>