spring mvc会将所有请求交给springDispatcherServlet处理,而springDispatcherServlet最终是去查找请求对应的@RequestMapping,静态资源显然不在@RequestMapping映射的范围内。故直接输入资源路径会显示404,资源找不到错误。
web.xml :
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
处理方式 是,在springmvc.xml配置文件中加入配置mvc:default-servlet-handler:
<!-- 该配置会让springmvc接收一个请求,并且如果该请求没有对应的@RequestMapping时,将请求交给tomcat处理 -->
<!-- 当然该配置是基于mvc:annotation-driven之上的,所以要达到直接访问静态资源的效果还要加上mvc:annotation-driven的配置 -->
<mvc:default-servlet-handler/>