欢迎页HandlerMapping的小Bug
在配置欢迎页的时候,如果配置了静态资源前缀规则的话,欢迎页规则会失效
spring.mvc.static-path-pattern和spring.web.resources.static-locations同时配置,会导致欢迎页也要通过这个静态资源前缀来访问,这就是失效了
# 若配置了这个静态资源前缀规则
spring.mvc.static-path-pattern=/res/**
# 那么访问欢迎页要手动输入:res/index.html 才行
导致问题的原因
看看源码就很容易发现了这个问题所在
在 WebMvcAutoConfiguration 中
来看看 WelcomePageHandlerMapping 是怎么创建的
很容易看到,这个判断逻辑的代码在底层就已经写死了
如果配置了 spring.mvc.static-path-pattern
那就铁定走不进来了,于是欢迎页规则失效