springboot资静态资源访问自定义

官方文档(https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content)介绍了可以自配置的一些东西,下面我来尝试。

1、修改静态资源访问路径(加前缀)

首先,对于放在springboot默认静态资源文件夹下的静态资源(照片、视频、js、css啥的),可以通过当前项目根路径/ + 静态资源名访问到。默认的静态资源文件夹有 /static /public /resources /META-INF/resources这些文件夹都是建在resources目录下的。
想要修改访问的路径,比如想要用/res/air.jpg访问,就得自定义了,做法是在配置文件中(这里使用yaml)这样写:

spring:
  mvc:
    static-path-pattern: "/res/**"  #这个双引号不加也可以,不过官方示例加了,咱就加上吧
    #上面的配置改变了静态资源默认访问路径,比如之前可以通过8080:/air.jpg访问,但修改后只能通过8080:/res/air.jpg访问

这时候就能通过/res/air.jpg访问air.jpg了,原来的/air.jpg就访问不到了。

2、定制静态资源存放的文件夹

在1中说过,springboot有默认静态资源文件夹下,如果想把静态资源放到其他文件夹下则访问不到,那怎么才能让其他文件夹成为静态资源文件夹呢?只要做如下配置:(注意看注释)

spring:
  mvc:
    static-path-pattern: "/res/**"  #这个双引号不加也可以,不过官方示例加了,咱就加上吧
    #上面的配置改变了静态资源默认访问路径,比如之前可以通过8080:/air.jpg访问,但修改后只能通过8080:/res/air.jpg访问
  resources:
    static-locations: [classpath:/abc/,classpath:/static/]
    #上面的配置定制了静态资源存放的文件夹,一但定制,默认的静态资源文件夹就会失效
    #要访问静态资源,依然是通过“项目名 + static-path-pattern + 静态资源名(eg:air.jpg)”来访问

值得注意的是,一但定制,默认的静态资源文件夹就会失效,想要再使用默认的,就得把默认的也加入到static-locations参数里面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值