在使用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/**"/>
加入这个之后就可以正常访问静态资源了。
本文介绍在使用SpringMVC时,如何在web.xml中配置拦截所有请求时,解决静态资源如js、img、css等无法正常访问的问题。通过添加<mvc:resources/>标签在xxxx-servlet.xml文件中进行配置,可以实现对特定路径下的资源进行正确定位,确保静态资源的正常加载。
976

被折叠的 条评论
为什么被折叠?



