Springboot中如何訪問靜態資源
1. application中需要先行的兩個配置項
1.1 spring.mvc.static-path-pattern
這個配置項是告訴springboot,應該以什麼樣的方式去尋找資源。預設配置為 /* 。換句話說,只有靜態資源滿足什麼樣的匹配條件,Spring Boot才會處理靜態資源請求
比如下面這個配置
spring.mvc.static-path-pattern=/soul/*
如果原先訪問首頁的地址是:
那麼在你配置這個配置後,上面的訪問就失效了,現在訪問同樣的頁面需要這樣訪問:
-
問題1:配置這個配置後原本可以直接訪問首頁,但是現在訪問不了首頁。
後記:多次使用後發現只要配置了這個配置,不管配成什麼,都訪問不了首頁。
-
問題2:配置訪問路徑為/soul/後原本可以訪問resources下其他資料夾的目錄下的靜態資源,現在不可以了。比如下面截圖中test/test.html不能訪問了,在沒有配置為/soul/可以透過訪問
1.png
1.2 spring.resources.static-locations
這個配置項是告訴springboot去哪找資源。
# 預設值為spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
根據前後關係確定優先順序,也就是說如果/META-INF/resources/目錄和/resources都有一個index.html,那麼根據預設的優先順序,會去訪問/META-INF/resources/下的資源。
2. 一個配置的例項
首先專案目錄是這個樣子的:static和tempaltes各有幾個頁面,其中有一個重名的test頁面用來測試優先順序。
2.png
由於現在建立的springboot專案,一般會將js、css等靜態檔案放在static下,而將頁面放在templates下,所以配置上只配置了資源目錄,第一個配置使用預設的*/ **,具體如下。
spring.resources.static-locations=classpath:/templates/,classpath:/static/
配置完了啟動專案在8888埠,訪問,根據上面理論應該會訪問到static下的index.html上,結果如圖:
3.png
訪問:,目測會訪問到templates下的test.html上,因為配置中templates的優先順序高於static,結果如圖
4.png
同樣的,如果有建資料夾的需求在對應目錄下建資料夾,並把靜態資源放進去即可訪問。
作者:每天都懶得減肥
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1868/viewspace-2818368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringBoot靜態資源訪問Spring Boot
- springboot+themeleaf+bootstrap訪問靜態資源/無法訪問靜態資源/圖片Spring Boot
- springboot新增靜態資源無法訪問Spring Boot
- SpringBoot之yaml語法及靜態資源訪問Spring BootYAML
- SpringMVC下關於靜態資源訪問SpringMVC
- webpack簡單搭建localhost訪問靜態資源Weblocalhost
- SpringBoot處理靜態資源Spring Boot
- 【原始碼分析】 - SprignBoot是如何訪問工程目錄下的靜態資源?原始碼boot
- springboot中靜態頁面無法訪問及return無法重定向問題Spring Boot
- SpringBoot-靜態資源載入-原始碼Spring Boot原始碼
- cdn.jsdelivr.net 掛了?前端靜態資源訪問出錯JSVR前端
- Laravel 在 Docker 環境下訪問 storage 靜態資源 404 問題解決LaravelDocker
- SpringBoot - 搭建靜態資源儲存伺服器Spring Boot伺服器
- 如何在nginx配置靜態資源Nginx
- springboot設定靜態資源不攔截的方法Spring Boot
- springboot專案所有靜態資源無法載入Spring Boot
- SpringMVC中已經配置了靜態資源,依然無法訪問,css可以訪問成功,但圖片就是載入不出來。SpringMVCCSS
- 靜態資源管理
- Spring Boot通過@ConfigurationProperties訪問靜態資料 - reflectoringSpring Boot
- 如何快速搭建靜態資源伺服器伺服器
- SpringBoot資料訪問之Druid資料來源的使用Spring BootUI
- webpack 靜態資源管理Web
- 靜態資源公共庫
- Web靜態資源加速Web
- WPF:靜態、動態資源以及資源詞典
- 請問使用 nginx 進行反向代理 Laravel 專案的時候如何 保障 Laravel 專案下靜態資源的訪問 ?NginxLaravel
- 循序漸進nginx(二):反向代理、負載均衡、快取服務、靜態資源訪問Nginx負載快取
- spring boot 自定義規則訪問獲取內部或者外部靜態資源圖片Spring Boot
- Spring MVC 中檢視的實現原理,在Spring MVC 中實現重定向和轉發,以及訪問靜態資源SpringMVC
- WordPress引用靜態資源方法
- 008.Nginx靜態資源Nginx
- 靜態資源伺服器伺服器
- Node讀取靜態資源
- SpringBoot資料訪問(一) SpringBoot整合MybatisSpring BootMyBatis
- SpringBoot資料訪問(三) SpringBoot整合RedisSpring BootRedis
- SpringBoot資料訪問(二) SpringBoot整合JPASpring Boot
- Sprint資源訪問
- .NET全域性靜態可訪問IServiceProvider(支援Blazor)IDEBlazor