当前位置:   article > 正文

springBoot静态资源加载不到,并且配置了也不生效_springboot配置默认静态资源不起作用

springboot配置默认静态资源不起作用

问题描述,以及历程

今天写项目的时候导入了一个前端项目,加载的时候发现,竟然404,我估计就是没扫描到静态资源,我就跟之前一样写了一个配置类:

  1. @Configuration
  2. public class WebMvcConfig extends WebMvcConfigurationSupport {
  3. @Override
  4. protected void addResourceHandlers(ResourceHandlerRegistry registry) {
  5. registry.addResourceHandler("/**")
  6. .addResourceLocations("classpath:/static/")
  7. .addResourceLocations("classpath:/templates/");
  8. super.addResourceHandlers(registry);
  9. }
  10. }

然后发现也不生效,

我就去搜,发现了各种配置的方法,继承这个类的,或者实现那个方法的,网上一搜一大堆,都不行,然后我又试了用配置文件配置,也就是yml,因为用的thymeleaf引擎模板的,所以,也配置了些thymeleaf的配置,能好点,起码能访问到首页的html了,但是依然静态资源加载不到,

还有说那个pom文件有那个过滤的,把那个删了就好,我查过那个问题了,我没有那个过滤的。

解决问题

经过一下午的排查,与搜索,终于找到了解决方法:我用的springBoot版本的问题:2.6.x就会有问题,需要引入配置,才能生效:

Springboot-2.6.x所使用到的spring mvc-5.3.x 默认的路径匹配策略改变了:

Spring MVC 处理程序映射匹配请求路径的默认策略已从 AntPathMatcher 更改为PathPatternParser。所以我们得给他设置回去

  1. spring:
  2. mvc:
  3. pathmatch:
  4. matching-strategy: ant_path_matcher

之后再使用前面的几种方法就ok了,哪个生效用哪个。

或者,直接降boot的版本。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/917468
推荐阅读
相关标签
  

闽ICP备14008679号