在使用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/**"/>
加入这个之后就可以正常访问静态资源了。