springMVC访问静态文件报404时可能的错误是DispatcherServlet通过"/"拦截了所有的请求,可以检查web.xml下DispatcherServlet的拦截是不是"/",出现这种问题有以下几种解决办法:
1.在web.xml中DispatcherServlet前加defaultServlet,这样访问对应的静态文件时就进入defaultServlet而不会进入DispatcherServlet<mvc:resources location="/images/" mapping="/images/**"/>从而避免了将*.jpg/*.js等识别为servlet的问题,写法如下:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
2.在spring-servlet.xml中添加如下配置:
<mvc:resources location="/images/" mapping="/images/**"/>
参考:http://blog.163.com/zhangmihuo_2007/blog/static/27011075201453044959574?suggestedreading