Spring MVC静态资源报404错误

来源:互联网 发布:ios10软件闪退 编辑:程序博客网 时间:2024/05/21 10:59
使用spring MVC静态资源(如:图片,js,css)等报404问题,通常原因是由于spring MVC的拦截器拦截引起的。

<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

通常,如果配置url-pattern的映射为*.do或*.action就不会出现静态资源找不到的问题,若配置/,意思是DispatcherServlet拦截所有的请求,造成静态资源访问不到?解决这类问题有很多种办法。我通常使用下面的办法:
spring 在3.0.4之后提供了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/" />

  /images /**映射到 ResourceHttpRequestHandler 进行处理,location指定静态资源的位置。如果出现下面的错误,可能是没有配置 <mvc:annotation-driven /> 的原因。 
报错WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'。
原创粉丝点击