当前位置: 代码网 > it编程>编程语言>Java > springBoot静态资源加载不到,并且配置了也不生效问题及解决

springBoot静态资源加载不到,并且配置了也不生效问题及解决

2025年02月24日 Java 我要评论
问题描述,以及历程今天写项目的时候导入了一个前端项目,加载的时候发现,竟然404,我估计就是没扫描到静态资源,我就跟之前一样写了一个配置类:@configurationpublic class web

问题描述,以及历程

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

@configuration
public class webmvcconfig extends webmvcconfigurationsupport {
    @override
    protected void addresourcehandlers(resourcehandlerregistry registry) {
        registry.addresourcehandler("/**")
                .addresourcelocations("classpath:/static/")
                .addresourcelocations("classpath:/templates/");
        super.addresourcehandlers(registry);
    }
}

然后发现也不生效,

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

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

解决问题

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

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

spring mvc 处理程序映射匹配请求路径的默认策略已从 antpathmatcher 更改为pathpatternparser

所以我们得给他设置回去

spring:
      mvc:
        pathmatch:
          matching-strategy: ant_path_matcher

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

或者,直接降boot的版本。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com