springboot jar包启动访问jar包外的静态文件

这次做了这么一个需求,上传html字符串到服务器上,服务器生成html文件,并且能直接访问。因为是个小需求,所以就一台服务器,没有静态文件服务器,所以原先打算把html保存到resources/static文件夹下,然后127.0.0.1:8080/xxx.html就能直接访问静态文件,后来在idea上跑是没有问题,可以写入文件到resources/static文件夹下,但是打成jar包之后就没办法写jar包里面的resources/static文件夹了。后来没办法,只能放到jar包外面,也就是在项目外面配一个静态文件目录,但是怎么能在项目里返回项目外的html视图呢?这里我用了一个ResourceHandlerRegistry 做了一个映射,将/view/case/**路径的请求映射到E:\\server\\目录下,这样就能直接访问E:\\server\\下的静态文件了

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Autowired
    private YmlProperties ymlProperties;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/view/case/**").addResourceLocations("file: E:\\server\\");
        super.addResourceHandlers(registry);
    }
}

这种写法不需要在yml中添加其他配置了,我看网上也有讲在yml中配置的,

spring:
  resources:
    static-locations: file:D:/static/

但是我因为我用了拦截器,测试没有生效,后面有时间看下为什么拦截器会导致static-path-pattern等yml中的配置没有生效。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值