前言
css,js等静态文件应该被配置为可以直接访问,使用<mvc:resources>来配置,但该配置依赖<mvc:annotation-driven>,二者在配置在一起时才能够正常运行。
<!--静态文件处理-->
<mvc:annotation-driven/>
<mvc:resources mapping="/css/**" location="WEB-INF/css/"/>
问题
当没有配置配<mvc:annotation-driven>时,虽然静态文件可以不被默认servlet拦截,但是servlet自身的所有配置(controller)将失败,报servlet找不到对应的url-mapping。
<servlet>
<description>spring mvc servlet</description>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring-mvc.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>