intellij springboot靜態資源的訪問和配置


默認靜態資源訪問

Spring Boot的默認靜態資源的路徑為: 
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 
優先級從從高到低。

默認情況不配置靜態資源訪問路徑時

該條件是指我們不在application.properties/yml文件中進行這個路徑配置時,如圖: 
這里寫圖片描述
我們將靜態資源放到以上路徑(classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/)或放到者我們把靜態文件直接放到webapp下 
這里寫圖片描述 
我們在瀏覽器輸入指定地址時都是可以訪問到的: 
這里寫圖片描述 
但是需要我們注意的是:如果你的應用將被打包成jar,那就不要使用src/main/webapp文件夾。盡管該文件夾是一個共同的標准,但它僅在打包成war的情況下起作用,如果產生一個jar,多數構建工具都會靜悄悄的忽略它!所以根據需要進行配置

默認情況配置靜態資源訪問路徑時

當我們在application.properties/yml中配置默認訪問路徑時,只能夠訪問到我們配置的訪問路徑。 
在webapp下的目錄中的靜態文件就不能夠進行訪問 
這里寫圖片描述

自定義靜態資源路徑的配置

一般情況下,默認的靜態資源訪問路徑就能滿足我們的需求,當然我們也可以自定義靜態資源的路徑:

修改配置文件

修改配置文件的方法就是修改spring.resources.static-locations的配置:

spring.resources.static-locations=classpath:/testStatic/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

通過代碼修改

以增加 /myres/* 映射到 classpath:/myres/* 為例的代碼處理為: 
實現類繼承 WebMvcConfigurerAdapter 並重寫方法 addResourceHandlers

@Configuration public class MyWebAppConfigurer extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/testStatic/**").addResourceLocations("classpath:/testStatic/"); super.addResourceHandlers(registry); } }

 

這樣使用代碼的方式自定義目錄映射,並不影響Spring Boot的默認映射,可以同時使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM