本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序

腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
关于 WebFlux 的教程方面的内容我已经持续写过很多内容了。包括前面的这篇《WebFlux 整合 thymeleaf 教程》文章,对静态资源的处理,提到的都非常的少。今天我抽个时间专门把 WebFlux 对静态资源的映射来写一写!
所谓的静态资源,主要就是指 css、js、图片等这类文件。我不需要每个都给你配置一个路由,直接给你一个规则,src/main/resources/public 目录下的全是静态文件,访问这个目录的内容,直接映射一下。
这个想法很好,WebFlux 中也提供了类似的功能。默认就会进行静态资源映射。前提是你的静态资源必须放在 src/main/resources/public 目录下。
如果你新建了一个目录,比如,src/main/resources/static。那对不起,WebFlux 将无法进行自动映射。
这个时候,我们就有两种做法来进行改变映射的路径。
第一种通过配置文件的形式,指定 spring.resources.static-locations 和 spring.webflux.static-path-pattern 两个属性值即可。这个配置非常简单,看属性名称就知道如何配置了。我就不细说了,我重点说一下第二种方案。
第二种办法就是,通过 RouterFunctions.resources 来指定和映射静态资源。
现在假设,我们的静态资源放置在 src/main/resources/statica 目录下。这是一个自定义的目录 statica,我专门加了一个 a,不是写错了,故意的。
然后,我们通过 RouterFunctions.resources 就可以这样来做。
@Configuration public class StaticRoute { @Bean RouterFunction<ServerResponse> staticResourceRouter(){ return RouterFunctions.resources("/statica/**", new ClassPathResource("statica/")); } }
这样,重启项目就可以使用指定的目录存放静态资源了。
以上,如果你还有疑问,欢迎关注我的微信公众号,和我一起探讨 WebFlux 的奥秘。
最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » WebFlux 静态资源处理教程