在使用SpringMVC的时候如果在web.xml中配置了拦截所有的请求会出现js,img,css等静态资源找不到的情况。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这个时候如果在项目中有其它的文件,比如下图中的kindeditor-4.1.7中的文件夹,如果在jsp页面中有引用到里面的js文件,浏览器将读取不到。
这里可以通过添加<mvc:resources />标签来解决这个问题,在xxxx-servlet.xml文件中加入
<beans
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 相当于:/kindeditor-4.1.7/** 的url请求的资源都到/kindeditor-4.1.7/目录下查找 -->
<mvc:resources location="/kindeditor-4.1.7/**" mapping="/kindeditor-4.1.7/**"/>
加入这个之后就可以正常访问静态资源了。