配置静态资源路径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的主要内容,如果未能解决你的问题,请参考以下文章