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

    之前的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>
  • 相关阅读:
    LeetCode 1356. 根据数字二进制下1的数目排序
    Ubuntu LaTeX 中文环境配置 与 VSCode LaTeX Workshop
    LeetCode 57. 插入区间
    VSCode Ubuntu下调试失败 无法打开 libc-start.c raise.c等
    LeetCode 30. 串联所有单词的子串
    日期处理函数
    Stream 和 byte[] 之间的转换
    Math.Round {实现四舍五入的小技巧}
    重写alert弹窗
    js轮播图
  • 原文地址:https://www.cnblogs.com/Traveller-Leon/p/8628522.html
Copyright © 2011-2022 走看看