此處對比兩個spring boot版本訪問靜態資源的區別:(jdk分別為1.7與1.8)
1.5.9.release
2.1.6.release
資源未被攔截
可以訪問
可以訪問
資源被攔截
可以訪問
不可以訪問
由此可見,如果spring boot版本為2.x,那存在配置了靜態資源後不能被訪問的情況。所以網上會有人說配置了資源對映無效或者說原來的static下不能訪問了,實際原因可能是被攔截了。spring boot2.x會攔截原來1.x預設可訪問的static資料夾下的靜態資源,需要自己手動配置。
參考1:springboot2.x靜態資源訪問方式
參考2:spring boot 2.x靜態資源會被handlerinterceptor攔截的原因和解決方法
但是網上很多都是在class檔案裡配置,此處提供簡單的辦法,在配置檔案中使用spring.resources.static-locations配置:
spring.resources.static-locations=classpath:/static/,file:e:/image/
此處替代:
@override
public void addresourcehandlers(resourcehandlerregistry registry)
可用來訪問專案目錄下或本地磁碟目錄下的資源檔案。注意在2.x中使用,需要取消攔截。比如:
或者
SpringBoot 2 X 訪問靜態資源
我專案中的檔案如下,使用的是spring boot 2.2.6 也就是2.x版本 html檔案 資源目錄 controller層 訪問html的時候,發現靜態資源沒有訪問到,在html檔案中,靜態資源路徑寫的是沒問題的,在springboot1.x的時候也是沒問題的,但是為什麼訪問不到?究其原因是使...
基於SpringBoot 2 X整合Druid
說明 本文旨在整理springboot 2.x整合druid基礎功能,如有問題請指出 參考資料 基於springboot 2.x版本,這裡是引入druid spring boot2 starter的方式來配置,所以不需要不需要configbean來配置druid,如果引入的是druid,則需要con...
SpringBoot2 x 整合Druid詳細步驟
druid spring boot starter模式 這種方式比較簡單,不需要自己寫配置類。在匯入依賴以及配置好配置檔案yml即可。pom.xml com.alibaba druid spring boot starter 1.1.10 spring datasource url jdbc mys...