springBoot靜態(tài)資源加載不到,并且配置了也不生效問題及解決
問題描述,以及歷程
今天寫項目的時候導入了一個前端項目,加載的時候發(fā)現(xiàn),竟然404,我估計就是沒掃描到靜態(tài)資源,我就跟之前一樣寫了一個配置類:
@Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/static/") .addResourceLocations("classpath:/templates/"); super.addResourceHandlers(registry); } }
然后發(fā)現(xiàn)也不生效,
我就去搜,發(fā)現(xiàn)了各種配置的方法,繼承這個類的,或者實現(xiàn)那個方法的,網(wǎng)上一搜一大堆,都不行,然后我又試了用配置文件配置,也就是yml,因為用的thymeleaf引擎模板的,所以,也配置了些thymeleaf的配置,能好點,起碼能訪問到首頁的html了,但是依然靜態(tài)資源加載不到,
還有說那個pom文件有那個過濾的,把那個刪了就好,我查過那個問題了,我沒有那個過濾的。
解決問題
經(jīng)過一下午的排查,與搜索,終于找到了解決方法:我用的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的版本。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java實現(xiàn)MapReduce對文件進行切分的示例代碼
本文主要介紹了java實現(xiàn)MapReduce對文件進行切分的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01SpringBoot3和ShardingSphere5框架實現(xiàn)數(shù)據(jù)分庫分表
這篇文章主要介紹了SpringBoot3和ShardingSphere5框架實現(xiàn)數(shù)據(jù)分庫分表的相關資料,需要的朋友可以參考下2023-08-08Java使用ant.jar執(zhí)行SQL腳本文件的示例代碼
這篇文章主要介紹了Java使用ant.jar執(zhí)行SQL腳本文件,文中通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-02-02