毕设:高校考试信息数字化平台(二)——Spring中静态文件无法获取的问题(Bootstrap样式无法显示)

时间:2021-02-25 06:46:11

之前的web.xml中的映射只有

1   <servlet-mapping>
2     <servlet-name>springDispatcherServlet</servlet-name>
3     <url-pattern>/</url-pattern>
4   </servlet-mapping>

Spring主要也是通过DispatcherServlet实现了Servlet这个接口,又叫前端控制器,来自前端的请求会先到达这里,它负责到后台去匹配合适的handler,‘/’表示会拦截所有请求。

DispatcherServlet的主要工作流程如下:

  1. 前端请求到达DispatcherServlet。
  2. 前端控制器请求HandlerMappering 查找Handler。
  3. 如果查找到存在的处理器,进一步去调用service和dao层
  4. 返回结果再到controller层,渲染具体的视图,返回结果给页面。

因为我们的请求到达了DispatcherServlet但是又没有匹配,所以在jsp中引用css和js以及html等静态文件都是出现404问题。

解决方法:在web.xml中添加映射:

 1     <servlet-mapping>
 2         <servlet-name>default</servlet-name>
 3         <url-pattern>*.css</url-pattern>
 4     </servlet-mapping>
 5     <servlet-mapping>
 6         <servlet-name>default</servlet-name>
 7         <url-pattern>*.gif</url-pattern>
 8     </servlet-mapping>
 9     <servlet-mapping>
10         <servlet-name>default</servlet-name>
11         <url-pattern>*.jpg</url-pattern>
12     </servlet-mapping>
13     <servlet-mapping>
14         <servlet-name>default</servlet-name>
15         <url-pattern>*.js</url-pattern>
16     </servlet-mapping>