源码浅析 | SpringBoot 中欢迎页的小Bug

253 阅读1分钟

欢迎页HandlerMapping的小Bug

在配置欢迎页的时候,如果配置了静态资源前缀规则的话,欢迎页规则会失效
spring.mvc.static-path-patternspring.web.resources.static-locations 同时配置,会导致欢迎页也要通过这个静态资源前缀来访问,这就是失效了

# 若配置了这个静态资源前缀规则
spring.mvc.static-path-pattern=/res/**

# 那么访问欢迎页要手动输入:res/index.html 才行

导致问题的原因

看看源码就很容易发现了这个问题所在

WebMvcAutoConfiguration

欢迎页1.png

来看看 WelcomePageHandlerMapping 是怎么创建的

欢迎页2.png

很容易看到,这个判断逻辑的代码在底层就已经写死了
如果配置了 spring.mvc.static-path-pattern
那就铁定走不进来了,于是欢迎页规则失效