基本说明
在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前缀,可以正常访问