配置静态资源路径static-locations、static-path-pattern

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置静态资源路径static-locations、static-path-pattern相关的知识,希望对你有一定的参考价值。

参考技术A

实际开发静态资源 html、js、图片 肯定是放在各自文件夹下面的
参考链接

demo地址

demo 地址

可以访问:
http://localhost:8080/JS/1.js
http://localhost:8080/Image/1.png
http://localhost:8080/JS/1.html

3、 1.js 1.png 1.html 和 2.js 一样直接访问

设置 spring.web.resources.static-locations

3.1 、 http://localhost:8080/1.js 、 http://localhost:8080/1.png 、 http://localhost:8080/1.html 可以直接访问了

demo地址

这样的配置,可以说最简单且粗暴,但是灵活性差一点点:

URL响应地址只能为一项,也就是spring.mvc.static-path-pattern配置只能写一项。
这意味着,按我上文设置了/SystemData/ 为URL匹配,就不能设置第二个/resources/ 这样的配置为第二静态目录。

写一个配置类,实现静态资源的文件夹方法很多。比如:
继承于WebMvcConfigurationSupport父类,并实现addResourceHandlers方法。
引用WebMvcConfigurer接口,并实现addInterceptors方法

现在我们就来配置。 最终效果很简单,我想要的效果(两组同时):

浏览器输入: http://localhost:8080/SystemData/UserData/Avatar/1.png
可以直接访问项目文件下的:/SystemData/UserData/Avatar/1.png,

浏览器输入: http://localhost:8080/Test/UserData/Avatar/2.png
可以直接访问项目文件下的:/Test/UserData/Avatar/2.png,

SpringBoot下静态资源处理

参考技术A 经过上面配置后,页面请求的每个静态文件必须包含/res/,这样静态文件才能映射到static-locations路径,没有配置就使用默认的。规范所有静态资源统一前缀,在使用shiro等拦截工具时,可以匹配/res/** 不进行权限检查。

资源缓存一般用于缓存应用静态资源和webjars下面的资源,默认情况下,springboot会配置/webjars/**对应classpath:/META-INF/resources/webjars/的资源映射并进行缓存配置,static-path-pattern也会对应static-locations进行缓存配置。

以上是关于配置静态资源路径static-locations、static-path-pattern的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot下静态资源处理

SpringBoot 20-29

springboot 1.5.2 thymeleaf 添加templates 静态资源访问路径

SpringBoot 中静态资源设置

SpringBoot设置静态资源目录

SpringBoot设置静态资源目录