您好,登錄后才能下訂單哦!
本篇文章為大家展示了Spring Boot中如何訪問靜態資源,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
spring.mvc.static-path-pattern spring.resources.static-locations
1.1 spring.mvc.static-path-pattern
這個配置項是告訴springboot,應該以什么樣的方式去尋找資源。默認配置為 /* 。換句話說,只有靜態資源滿足什么樣的匹配條件,Spring Boot才會處理靜態資源請求
比如下面這個配置
spring.mvc.static-path-pattern=/soul/*
如果原先訪問首頁的地址是:http://localhost:8888/index.html
那么在你配置這個配置后,上面的訪問就失效了,現在訪問同樣的頁面需要這樣訪問:http://localhost:8888/soul/index.html
問題1:配置這個配置后原本http://localhost:8888可以直接訪問首頁,但是現在http://localhost:8888/soul訪問不了首頁。
后記:多次使用后發現只要配置了這個配置,不管配成什么,http://localhost:8888都訪問不了首頁。
問題2:配置訪問路徑為/soul/后原本可以訪問resources下其他文件夾的目錄下的靜態資源,現在不可以了。比如下面截圖中test/test.html不能訪問了,在沒有配置為/soul/可以通過http://localhost:8888/test/test.html訪問
這個配置項是告訴springboot去哪找資源。
# 默認值為 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
根據前后關系確定優先級,也就是說如果/META-INF/resources/目錄和/resources都有一個index.html,那么根據默認的優先級,會去訪問/META-INF/resources/下的資源。
首先項目目錄是這個樣子的:static和tempaltes各有幾個頁面,其中有一個重名的test頁面用來測試優先級。
由于現在建立的springboot項目,一般會將js、css等靜態文件放在static下,而將頁面放在templates下,所以配置上只配置了資源目錄,第一個配置使用默認的*/ **,具體如下。
spring.resources.static-locations=classpath:/templates/,classpath:/static/
配置完了啟動項目在8888端口,訪問http://localhost:8888/,根據上面理論應該會訪問到static下的index.html上,結果如圖:
訪問:http://localhost:8888/test.html,目測會訪問到templates下的test.html上,因為配置中templates的優先級高于static,結果如圖
上述內容就是Spring Boot中如何訪問靜態資源,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。