Spring Boot(十三)整合 外部静态文件

1、如何使用外部静态文件?
需要再 application.yml 添加以下节点

server:
  port: 443
spring:
  resources:
    static-locations: file:D://uploadfile
  mvc:
    static-path-pattern: /**
  thymeleaf:
    prefix: classpath:/templates/

2、使用外部静态文件有什么用?
在本演示网站中,我仅仅用作上传目录,因为springboot中,我们不可能把用户上传的文件直接往springboot中上传,这样会让以后更新spring boot站点造成很大的麻烦,首先我们要解压原来的jar,再把文件拷贝到开发环境,然后再打包,而且当这些文件越来越多,我们的速度就会越来越慢。

3、使用外部静态文件还能做什么?
既然可以作为一个上传目录去使用,在发散思维的想想,我们是不是可以把外部静态目录作为一个完整的站点。这样只要springboot一只在跑,我们更新只需要更新D盘的所有文件,只要设计到位,就不用重启spring boot。甚至我们多人开发的时候,可以把外部静态目录作为一个共享文件夹,让所有前端把自己负责的模块文件都实时编译到这个共享文件夹,这样就不用每个前端开一个spring boot来调试,节约电脑性能。

4、注意的地方
我们新增了static-locations: file:D://uploadfile,访问路径即是从uploadfile下一层目录开始。比如 😄://uploadfile/file/1.jpg,则访问路径就是 http://127.0.0.1/file/1.jpg
shiro 过滤拦截 则写出 filterChainDefinitionMap.put("/file/**", “anon”);
不需要把 uploadfile 这个路径考虑进去。

/*配置不会被拦截的链接 顺序判断*/
        /*anon:所有url都都可以匿名访问*/
        /*webjars swagger 加载到webjar的资源,所以webjar下的资源不能被拦截,否者无法访问*/
        filterChainDefinitionMap.put("/webjars/**", "anon");
        filterChainDefinitionMap.put("/swagger-ui.html", "anon");
        filterChainDefinitionMap.put("/swagger-resources/**", "anon");
        filterChainDefinitionMap.put("/v2/api-docs/**", "anon");
        filterChainDefinitionMap.put("/app/**", "anon");
        filterChainDefinitionMap.put("/static/**", "anon");
        filterChainDefinitionMap.put("/file/**", "anon");

综上,灵活运用也可以大大方便开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的网友

day day up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值