zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【springboot】8、静态资源访问

2023-09-14 09:14:17 时间

基本说明

在springboot中我们该如何访问静态资源呢?下面我就将一张图片放在的resources目录下
在这里插入图片描述
启动程序,发现图片无法进行访问
在这里插入图片描述
这篇文章会说明在springboot中如何进行静态资源的访问

默认静态资源访问位置

在springboot中,WebProperties这个类中定义了默认的访问位置

在这里插入图片描述

可以发现默认的访问位置为,类路径:[/META-INF/resources/, /resources/, /static/, /public/]

下面将图片放入到static目录下

在这里插入图片描述

启动项目,继续访问该图片,可以发现已经可以成功访问了

在这里插入图片描述

注意:不需要将默认访问位置的目录名称带上,另外的3个位置一样的

修改默认访问路径

通过上面,我们知道,默认访问路径是通过WebProperties进行指定的,那么我们只需要更改默认的那个属性即可,先去查看下该类读取配置文件的前缀

在这里插入图片描述
在这里插入图片描述

前缀为spring.web,那么我们直接在配置文件中定位到spring.web,然后修改相应属性即可,由于staticLocations在内部类Resources中,所以我们修改的位置基本就确定为了spring.web.resources.staticLocations了,当然这个是驼峰命名,我们将驼峰更改为-进行分隔也没有问题

在这里插入图片描述

上面我设置静态资源访问路径就是类路径,我们只需要将静态资源放到类路径,也就是resources下就行了,我复制了一张图片到类路径下,我们访问试一下
先访问static目录下的lkls.png,发现无法访问了,因为我们已经修改默认静态资源路径了嘛

在这里插入图片描述

然后我们再去访问类路径下的my-lkls.png,可以成功访问,说明已经修改成功了

在这里插入图片描述

自定义静态资源访问前缀

前面我们访问静态资源都是没有前缀的,我们可以自定义一个前缀,这个是在WebMvcProperties中进行设置的

在这里插入图片描述
在这里插入图片描述
静态资源的访问前缀就是staticPathPattern这个属性控制的,要自定义,老样子,我们只需要再配置文件中修改即可,可以看见前缀为spring.mvc,我们去对应位置修改就可以了

在这里插入图片描述

我将访问静态资源前缀设置为了xxx,下面我们不加前缀访问一下

在这里插入图片描述

可以发现已经不能够访问了,现在加上xxx前缀,可以正常访问

在这里插入图片描述