首先说,你遇到这个问题很可能是你在web.xml配置文件中这样写了:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样写的话,所有的请求都被springmvc处理了,静态资源你没有写controller的话自然就找不到.
解决:
在mvc配置文件中加下面这一句
<!-- 配置默认的servlet-handler,名字是web服务器的默认名称,在配置文件server.xml里面查看-->
<mvc:default-servlet-handler default-servlet-name="default" />
对被分发到此处的请求先让web服务器默认的servlet handler先去处理,如果发现是请求的静态资源,就不继续了,直接让web服务器处理了.
其他的可以去看原博客