最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1. springboot默認(rèn)的靜態(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)資源的訪問順序

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

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

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

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

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

3.配置springboot項(xiàng)目首頁

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

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

4.springboot 配置

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

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

通過配置文件配置

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

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

如:

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

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

假如在test目錄下存放文件test.txt,程序啟動(dòng)后,便能通過瀏覽器訪問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,程序啟動(dòng)后,便能在瀏覽器訪問ip:port/test/test.txt訪問文件內(nèi)容

區(qū)別:

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

共同點(diǎn):

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

總結(jié)

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

相關(guān)文章

  • Java設(shè)計(jì)模式中的裝飾器模式簡析

    Java設(shè)計(jì)模式中的裝飾器模式簡析

    這篇文章主要介紹了Java設(shè)計(jì)模式中的裝飾器模式簡析,裝飾模式能夠?qū)崿F(xiàn)動(dòng)態(tài)的為對象添加功能,是從一個(gè)對象外部來給對象添加功能,通常給對象添加功能,要么直接修改對象添加相應(yīng)的功能,要么派生對應(yīng)的子類來擴(kuò)展,抑或是使用對象組合的方式,需要的朋友可以參考下
    2023-12-12
  • SpringMVC @NotNull校驗(yàn)不生效的解決方案

    SpringMVC @NotNull校驗(yàn)不生效的解決方案

    這篇文章主要介紹了SpringMVC @NotNull校驗(yàn)不生效的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 淺談Java內(nèi)存泄露

    淺談Java內(nèi)存泄露

    內(nèi)存泄漏(Memory Leak)是指程序中己動(dòng)態(tài)分配的堆內(nèi)存由于某種原因程序未釋放或無法釋放,造成系統(tǒng)內(nèi)存的浪費(fèi),導(dǎo)致程序運(yùn)行速度減慢甚至系統(tǒng)崩潰等嚴(yán)重后果。下面我們來一起了解如何解決
    2019-05-05
  • Java中使用ForkJoinPool的實(shí)現(xiàn)示例

    Java中使用ForkJoinPool的實(shí)現(xiàn)示例

    ForkJoinPool是一個(gè)功能強(qiáng)大的Java類,用于處理計(jì)算密集型任務(wù),本文主要介紹了Java中使用ForkJoinPool的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • IntelliJ IDEA 2020下載與安裝教程圖文詳解

    IntelliJ IDEA 2020下載與安裝教程圖文詳解

    這篇文章主要介紹了IDEA 2020下載與安裝的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot自定義Redis代碼實(shí)踐指南

    SpringBoot自定義Redis代碼實(shí)踐指南

    文章主要介紹了如何通過自定義RedisCacheConfiguration和RedisCacheManager來解決Spring Boot整合Redis過程中出現(xiàn)的序列化問題、Key命名冗余和缺乏過期限制等問題,通過這些定制,可以實(shí)現(xiàn)規(guī)范化的緩存存儲(chǔ)策略,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • nacos服務(wù)注冊命名空間指定方式

    nacos服務(wù)注冊命名空間指定方式

    文章介紹了Nacos服務(wù)注冊命名空間的用途,以及如何創(chuàng)建和指定命名空間,命名空間用于隔離不同項(xiàng)目的服務(wù)和配置,避免沖突,通過在配置文件中指定命名空間ID,服務(wù)會(huì)注冊到相應(yīng)的命名空間中,這樣可以更好地管理不同環(huán)境下的配置文件
    2024-12-12
  • Java將不同的List集合復(fù)制到另一個(gè)集合常見的方法

    Java將不同的List集合復(fù)制到另一個(gè)集合常見的方法

    在Java中,有時(shí)候我們需要將一個(gè)List對象的屬性值復(fù)制到另一個(gè)List對象中,使得兩個(gè)對象的屬性值相同,這篇文章主要介紹了Java將不同的List集合復(fù)制到另一個(gè)集合常見的方法,需要的朋友可以參考下
    2024-09-09
  • Java中ModelMapper?的高級使用

    Java中ModelMapper?的高級使用

    本文主要介紹了Java中ModelMapper?的高級使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 淺談幾種Java自定義異常處理方式

    淺談幾種Java自定義異常處理方式

    在Java中,異常是一種常見的處理機(jī)制,本文主要介紹了淺談幾種Java自定義異常處理方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論

湛江市| 武强县| 聊城市| 洪江市| 丹阳市| 合作市| 河西区| 丹江口市| 石柱| 筠连县| 交城县| 长兴县| 洪洞县| 建始县| 柏乡县| 随州市| 海兴县| 黄石市| 弥渡县| 顺义区| 西盟| 梁河县| 黄龙县| 信阳市| 宕昌县| 松阳县| 会昌县| 东乡县| 于都县| 黔江区| 佛山市| 花垣县| 宁南县| 饶平县| 深泽县| 克什克腾旗| 丹凤县| 吉首市| 鹤壁市| 闵行区| 囊谦县|