溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Spring Boot中如何訪問(wèn)靜態(tài)資源

發(fā)布時(shí)間:2021-06-21 16:43:54 來(lái)源:億速云 閱讀:226 作者:Leah 欄目:大數(shù)據(jù)

本篇文章為大家展示了Spring Boot中如何訪問(wèn)靜態(tài)資源,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

0. 兩個(gè)配置
spring.mvc.static-path-pattern

spring.resources.static-locations
1. application中需要先行的兩個(gè)配置項(xiàng)

1.1 spring.mvc.static-path-pattern

這個(gè)配置項(xiàng)是告訴springboot,應(yīng)該以什么樣的方式去尋找資源。默認(rèn)配置為 /* 。換句話(huà)說(shuō),只有靜態(tài)資源滿(mǎn)足什么樣的匹配條件,Spring Boot才會(huì)處理靜態(tài)資源請(qǐng)求

比如下面這個(gè)配置

spring.mvc.static-path-pattern=/soul/*

如果原先訪問(wèn)首頁(yè)的地址是:http://localhost:8888/index.html
那么在你配置這個(gè)配置后,上面的訪問(wèn)就失效了,現(xiàn)在訪問(wèn)同樣的頁(yè)面需要這樣訪問(wèn):http://localhost:8888/soul/index.html

  • 問(wèn)題1:配置這個(gè)配置后原本http://localhost:8888可以直接訪問(wèn)首頁(yè),但是現(xiàn)在http://localhost:8888/soul訪問(wèn)不了首頁(yè)。

    • 后記:多次使用后發(fā)現(xiàn)只要配置了這個(gè)配置,不管配成什么,http://localhost:8888都訪問(wèn)不了首頁(yè)。

  • 問(wèn)題2:配置訪問(wèn)路徑為/soul/后原本可以訪問(wèn)resources下其他文件夾的目錄下的靜態(tài)資源,現(xiàn)在不可以了。比如下面截圖中test/test.html不能訪問(wèn)了,在沒(méi)有配置為/soul/可以通過(guò)http://localhost:8888/test/test.html訪問(wèn)

    Spring Boot中如何訪問(wèn)靜態(tài)資源

1.2 spring.resources.static-locations

這個(gè)配置項(xiàng)是告訴springboot去哪找資源。

# 默認(rèn)值為
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

根據(jù)前后關(guān)系確定優(yōu)先級(jí),也就是說(shuō)如果/META-INF/resources/目錄和/resources都有一個(gè)index.html,那么根據(jù)默認(rèn)的優(yōu)先級(jí),會(huì)去訪問(wèn)/META-INF/resources/下的資源。

2. 一個(gè)配置的實(shí)例

首先項(xiàng)目目錄是這個(gè)樣子的:static和tempaltes各有幾個(gè)頁(yè)面,其中有一個(gè)重名的test頁(yè)面用來(lái)測(cè)試優(yōu)先級(jí)。

Spring Boot中如何訪問(wèn)靜態(tài)資源

由于現(xiàn)在建立的springboot項(xiàng)目,一般會(huì)將js、css等靜態(tài)文件放在static下,而將頁(yè)面放在templates下,所以配置上只配置了資源目錄,第一個(gè)配置使用默認(rèn)的*/ **,具體如下。

spring.resources.static-locations=classpath:/templates/,classpath:/static/

配置完了啟動(dòng)項(xiàng)目在8888端口,訪問(wèn)http://localhost:8888/,根據(jù)上面理論應(yīng)該會(huì)訪問(wèn)到static下的index.html上,結(jié)果如圖:

Spring Boot中如何訪問(wèn)靜態(tài)資源

訪問(wèn):http://localhost:8888/test.html,目測(cè)會(huì)訪問(wèn)到templates下的test.html上,因?yàn)榕渲弥衪emplates的優(yōu)先級(jí)高于static,結(jié)果如圖

Spring Boot中如何訪問(wèn)靜態(tài)資源

上述內(nèi)容就是Spring Boot中如何訪問(wèn)靜態(tài)資源,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI