概述
这次做了这么一个需求,上传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中的配置没有生效。
最后
以上就是贤惠毛衣为你收集整理的springboot jar包启动访问jar包外的静态文件的全部内容,希望文章能够帮你解决springboot jar包启动访问jar包外的静态文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复