为什么要处理静态资源
因为我们所有的请求都被dispatcherServlet给拦截下来了,springmvc会去找
http://localhost:8080/springmvc01/WEB-INF/js/jquery-1.8.2.min.js
这个路径的映射(RequestMapping映射),但是我们的控制层中没有这个映射,因此会报404错误
如何解决
在xml配置文件中加入以下内容:
<!-- 使用默认的servlet处理视图-->
<mvc:default-servlet-handler />
<!--
default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler,
它会对进入 DispatcherServlet 的请求进行筛查, 如果发现是没有经过映射的请求, 就将该请求交由 WEB 应用服务器默认的
Servlet 处理. 如果不是静态资源的请求,才由 DispatcherServlet 继续处理
一般 WEB 应用服务器默认的 Servlet 的名称都是 default.
若所使用的 WEB 服务器的默认 Servlet 名称不是 default,则需要通过 default-servlet-name 属性显式指定
-->
<mvc:annotation-driven />
<!-- 必须加上个标签,否则`RequestMapping`映射的路径会报 404 -->