这两天写的Springboot项目遇到了天坑bug,项目中使用了下面这个指令后,导致静态资源404
server.servlet.context-path=/tianmao
之后好好学习了静态资源,做此笔记。
一、默认的静态资源映射
首先,当访问一个 静态资源时,Springboot会将访问链接默认映射到几个地址
- 默认将 /** 即所有访问映射到以下目录
classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources
比如在html中我引用如下的js文件
<script src="/js/vue/2.5.16/vue.min.js"></script>
这里的 /js/xxxx链接就是/, Springboot会将/默认映射到上面四个地址,也就是(以static举例,这里的/static是映射出来的)
<script src="/static/js/vue/2.5.16/vue.min.js"></script>
image.png
这样,能成功访问到static 中的vue.min.js 文件
- 若使用server.servlet.context-path,情况会发生变化
#上下文
server.servlet.context-path=/tianmao
上面代码使用了上下文,当引用文件时需要加上上下文,否则会404错误,如下:
<script src="/tianmao/js/vue/2.5.16/vue.min.js"></script>
网友评论