在進行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>