使用spring MVC静态资源(如:图片,js,css)等报404问题,通常原因是由于spring MVC的拦截器拦截引起的。
spring 在3.0.4之后提供了annotation-driven注解;
报错WARNING: No mapping found for HTTP request with URI [/ mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'。
通常,如果配置url-pattern的映射为*.do或*.action就不会出现静态资源找不到的问题,若配置/,意思是DispatcherServlet拦截所有的请求,造成静态资源访问不到?解决这类问题有很多种办法。我通常使用下面的办法:<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
spring 在3.0.4之后提供了annotation-driven注解;
/images /**映射到 ResourceHttpRequestHandler 进行处理,location指定 静态资源的位置。如果出现下面的错误,可能是没有配置 <mvc:annotation-driven /> 的原因。<!-- 可代替上面注解的处理器和处理器适配器的配置 建议使用 -->
<mvc:annotation-driven />
<!-- 加<mvc:resources...前,要加上<mvc:annotation-driver/>,否则servlet控件器会解析失败 -->
<!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd -->
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/css/**" location="/css/" />
报错WARNING: No mapping found for HTTP request with URI [/ mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'。