springBoot靜態(tài)資源加載不到,并且配置了也不生效問(wèn)題及解決
問(wèn)題描述,以及歷程
今天寫(xiě)項(xiàng)目的時(shí)候?qū)肓艘粋€(gè)前端項(xiàng)目,加載的時(shí)候發(fā)現(xiàn),竟然404,我估計(jì)就是沒(méi)掃描到靜態(tài)資源,我就跟之前一樣寫(xiě)了一個(gè)配置類:
@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)了各種配置的方法,繼承這個(gè)類的,或者實(shí)現(xiàn)那個(gè)方法的,網(wǎng)上一搜一大堆,都不行,然后我又試了用配置文件配置,也就是yml,因?yàn)橛玫膖hymeleaf引擎模板的,所以,也配置了些thymeleaf的配置,能好點(diǎn),起碼能訪問(wèn)到首頁(yè)的html了,但是依然靜態(tài)資源加載不到,
還有說(shuō)那個(gè)pom文件有那個(gè)過(guò)濾的,把那個(gè)刪了就好,我查過(guò)那個(gè)問(wèn)題了,我沒(méi)有那個(gè)過(guò)濾的。
解決問(wèn)題
經(jīng)過(guò)一下午的排查,與搜索,終于找到了解決方法:我用的springBoot版本的問(wèn)題:2.6.x就會(huì)有問(wèn)題,需要引入配置,才能生效:
Springboot-2.6.x所使用到的spring mvc-5.3.x 默認(rèn)的路徑匹配策略改變了:
Spring MVC 處理程序映射匹配請(qǐng)求路徑的默認(rèn)策略已從 AntPathMatcher 更改為PathPatternParser。
所以我們得給他設(shè)置回去
spring: mvc: pathmatch: matching-strategy: ant_path_matcher
之后再使用前面的幾種方法就ok了,哪個(gè)生效用哪個(gè)。
或者,直接降boot的版本。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)MapReduce對(duì)文件進(jìn)行切分的示例代碼
本文主要介紹了java實(shí)現(xiàn)MapReduce對(duì)文件進(jìn)行切分的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

springboot中關(guān)于自動(dòng)建表,無(wú)法更新字段的問(wèn)題

SpringBoot3和ShardingSphere5框架實(shí)現(xiàn)數(shù)據(jù)分庫(kù)分表

Java使用ant.jar執(zhí)行SQL腳本文件的示例代碼

Java中在控制臺(tái)讀取字符的實(shí)現(xiàn)示例

Java?將PDF轉(zhuǎn)為HTML時(shí)保存到流的方法和步驟

Spring Boot 實(shí)例代碼之通過(guò)接口安全退出

詳解Java中字典樹(shù)(Trie樹(shù))的圖解與實(shí)現(xiàn)