【Java Web】-> Spring Boot -> Web 场景

简单功能分析

A. 静态资源访问

官方文档 中说,Spring Boot 给我们提供静态资源的目录,比如说你的图片、视频、JS、CSS文件,都可以放到文档中说的目录下,这样就可以直接访问这些资源了。
在这里插入图片描述
static 是我们用 Spring Initializr 创建的时候,自动创建的。
在这里插入图片描述
然后我们现在建立文档中说的其他文件夹。
在这里插入图片描述
最终的文件如下👇
在这里插入图片描述
现在我在这些文件夹里放几张图片。
在这里插入图片描述
然后我们来启动服务器,看看能否访问这些静态资源。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,所有的静态资源都是能被访问的。

因此,只要静态资源在类路径下/static (or /public or /resources or /META-INF/resources,那我们就可以通过访问:当前项目根路径/ + 静态资源名, 访问到静态资源。

现在我们再做一个测试。看看动态请求合静态资源重名会怎么样。
在这里插入图片描述
如果直接访问 1.png 的话,就会直接访问到对应的图片,但是现在我们定义了一个动态的请求,那么再访问相同的路径,就无法再直接访问到对应的静态资源了,而是返回的动态请求。
在这里插入图片描述
为什么会这样呢?

静态资源映射的是所有资源,/**,一个请求进来,会先去找 Controller,如果 Controller 不能处理,就会交给静态资源处理器。静态资源处理器就会在默认的几个文件夹中找,如果静态资源都没有找到,就会是 404。

所以,我们可以设置让访问静态资源都加一个前缀,静态资源是默认无前缀的。

在这里插入图片描述
通过设置 static-path-pattern ,我们可以改变访问静态资源的前缀,现在所有的静态资源都需要加一个前缀 res/ 才能访问。
在这里插入图片描述

在这里插入图片描述

同样,我们可以修改静态资源的默认访问路径,之前只能找到在默认的那几个文件夹里的静态资源,现在我们将静态资源的文件夹改成了 /pri
在这里插入图片描述

现在只有在 pri 包内的静态资源才可以被访问到。
在这里插入图片描述

我们来做个测试。
在这里插入图片描述
在这里插入图片描述
但是我们再来访问一下 pri 包下的静态资源。
在这里插入图片描述
访问成功。

如果你还需要访问更多的包,可以把路径改成下面这样👇
在这里插入图片描述
现在我们 public 包下的资源也可以访问了。
在这里插入图片描述
在这里插入图片描述

B. 欢迎页面

官方文档 中说,Spring Boot 支持静态和模板两种方式的欢迎页面,如果是静态资源,则可以将 index.html 放到静态资源路径下。第二种方式就是会在 Controller 中找 index 请求,如果找到了就将它作为欢迎页面。
在这里插入图片描述
我们可以做个测试,先在 static 中写一个 index.html。同时我们需要把这个包开放出来,因为之前我们设置了只能访问 pripublic 包。
在这里插入图片描述
在这里插入图片描述

然后我们访问一下localhost。
在这里插入图片描述
居然没有访问到欢迎页面,原因是我们在 yaml 配置文件中设置了访问的前缀。

我们现在直接把前缀也注释掉。
在这里插入图片描述
可以看到,欢迎页面被访问到了。
在这里插入图片描述
按照官方文档的解释,我们只要将 index.html 放在我们配置的静态资源的位置其实就是可以访问的。
在这里插入图片描述
在这里插入图片描述
所以说,我们可以在静态资源路径下放 index.html,可以配置静态资源的访问路径,但是不可以配置静态资源的访问前缀,否则 index.html 就不会是默认的访问页面。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值