亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

springboot靜態(tài)資源的配置方式

 更新時間:2024年05月20日 08:57:23   作者:龍兄你好呀  
這篇文章主要介紹了springboot靜態(tài)資源的配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

springboot靜態(tài)資源的配置

1. springboot默認的靜態(tài)資源存放路徑

靜態(tài)資源的存放路徑為classpath,也就是resources目錄下的:

  • /META-INF/resources
  • /resources
  • /static
  • /public

如下所示的CLASSPATH_RESOURCE_LOCATIONS數(shù)組存放的是靜態(tài)資源的訪問路徑。

public class ResourceProperties {
    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"};
    private String[] staticLocations;
    private boolean addMappings;
    private final ResourceProperties.Chain chain;
    private final ResourceProperties.Cache cache;
    ......

2.靜態(tài)資源的訪問順序

默認情況下是按照存放靜態(tài)資源路徑的數(shù)組順序訪問的。

也即按照下面的訪問順序:

  • /META-INF/resources
  • /resources
  • /static
  • /public

如上圖所示,在這種情況下,訪問index.html。那么訪問的是- /META-INF/resources里面的index.html。

結論:springboot會查找優(yōu)先級高的文件,從高到低,一直找到所需要的靜態(tài)資源為止。

3.配置springboot項目首頁

靜態(tài)資源文件夾下的所有 index.html 被稱為靜態(tài)首頁或者歡迎頁,它們會被 /** 映射,換句話說就是,當我們訪問"localhost:8080"時,都會跳轉到靜態(tài)首頁(歡迎頁)。

靜態(tài)首頁映射的原理是Spring Boot去掃描靜態(tài)資源目錄下的index.html頁面,同時遵循靜態(tài)資源優(yōu)先級原則。

4.springboot 配置

# 默認值為    /**
spring.mvc.static-path-pattern=
# 默認值為   classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 
spring.resources.static-locations=這里設置要指向的路徑,多個使用英文逗號隔開
  • spring.mvc.static-path-pattern指定了訪問項目靜態(tài)資源的url地址,默認是/**。
  • spring.resources.static-locations指定了靜態(tài)資源的存放位置。

springboot靜態(tài)資源目錄的配置

通過配置文件配置

配置節(jié)點:spring.web.resources.static-locations

值為要配置的靜態(tài)資源存放目錄

如:

spring:
    web:     
        resources:
            static-locations: classpath:/test/

以上配置中,設置靜態(tài)資源目錄為src/main/resources/test/目錄。

假如在test目錄下存放文件test.txt,程序啟動后,便能通過瀏覽器訪問ip:port/test.txt訪問文件。

通過config類配置

新建WebMvcConfig類,繼承WebMvcConfigurationSupport類,并添加注解@Configuration。

重寫WebMvcConfigurationSupport類的addResourceHandlers方法。

通過參數(shù)ResourceHandlerRegistry的addResourceHandler方法和addResourceLocations添加訪問路徑與資源目錄的映射。

如:

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/test/**").addResourceLocations("classpath:/test/");
    }
}

上述配置代碼中,添加了路徑/test/**對資源目錄src/main/resources/test/的映射。

假如在test目錄下存放文件test.txt,程序啟動后,便能在瀏覽器訪問ip:port/test/test.txt訪問文件內(nèi)容

區(qū)別:

  • 通過配置文件配置時,只能覆蓋默認配置設置一個靜態(tài)資源目錄(默認目錄為static),但無需添加根目錄名即可訪問。如“一”中訪問test.txt時,并沒有/test/路徑,而是直接訪問test.txt。
  • 通過代碼配置時,可以配置多對訪問路徑和資源目錄的映射,但訪問路徑需要包含根目錄名。如“二”中,訪問test.txt時,需要添加/test/路徑。

共同點:

  • 以上兩種方法,一旦選擇其一進行配置,默認配置(static)目錄即失效。
  • 當同時使用兩種方法時,配置文件方法失效,僅代通過配置類配置的方法生效。

總結

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Mybatis-Plus批量添加或修改數(shù)據(jù)的3種方式總結

    Mybatis-Plus批量添加或修改數(shù)據(jù)的3種方式總結

    使用Mybatis-plus可以很方便的實現(xiàn)批量新增和批量修改,不僅比自己寫foreach遍歷方便很多,而且性能也更加優(yōu)秀,下面這篇文章主要給大家介紹了關于Mybatis-Plus批量添加或修改數(shù)據(jù)的3種方式,需要的朋友可以參考下
    2023-05-05
  • Java優(yōu)先隊列的創(chuàng)建與使用詳解

    Java優(yōu)先隊列的創(chuàng)建與使用詳解

    這篇文章主要介紹了Java優(yōu)先隊列的創(chuàng)建與使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringMVC九大組件之HandlerMapping詳解

    SpringMVC九大組件之HandlerMapping詳解

    這篇文章主要介紹了SpringMVC九大組件之HandlerMapping詳解,HandlerMapping 叫做處理器映射器,它的作用就是根據(jù)當前 request 找到對應的 Handler 和 Interceptor,然后封裝成一個 HandlerExecutionChain 對象返回,需要的朋友可以參考下
    2023-09-09
  • java狀態(tài)機方案解決訂單狀態(tài)扭轉示例詳解

    java狀態(tài)機方案解決訂單狀態(tài)扭轉示例詳解

    這篇文章主要為大家介紹了java狀態(tài)機方案解決訂單狀態(tài)扭轉示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • springboot整合EHCache的實踐方案

    springboot整合EHCache的實踐方案

    EhCache是一個純Java的進程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認的CacheProvider。這篇文章給大家介紹了springboot整合EHCache的實踐方案,需要的朋友參考下
    2018-01-01
  • SpringBoot 啟動方法run()源碼解析

    SpringBoot 啟動方法run()源碼解析

    這篇文章主要介紹了SpringBoot 啟動方法run()源碼賞析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Json轉list二層解析轉換代碼實例

    Json轉list二層解析轉換代碼實例

    這篇文章主要介紹了Json轉list二層解析轉換代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • mybatis-plus 如何配置邏輯刪除

    mybatis-plus 如何配置邏輯刪除

    這篇文章主要介紹了mybatis-plus 如何配置邏輯刪除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Spring的RedisTemplate存儲的key和value有特殊字符的處理

    Spring的RedisTemplate存儲的key和value有特殊字符的處理

    這篇文章主要介紹了Spring的RedisTemplate存儲的key和value有特殊字符的處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java創(chuàng)建線程池的幾種方式代碼示例

    Java創(chuàng)建線程池的幾種方式代碼示例

    這篇文章主要介紹了Java中創(chuàng)建線程池的四種方式,包括使用Executors類、ThreadPoolExecutor類、Future和Callable接口以及Spring的ThreadPoolTaskExecutor,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-01-01

最新評論