欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot web靜態(tài)資源配置詳解

 更新時間:2020年10月20日 10:29:32   作者:耶亞希  
這篇文章主要介紹了SpringBoot web靜態(tài)資源配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

引言:

SpringBoot web項目開發(fā)中往往會涉及到一些靜態(tài)資源的使用,比如說圖片,css樣式,js等等,今天我們來講講這些常見的靜態(tài)資源應(yīng)該放在哪個位置,怎么放在自己想放的位置。

1、 項目創(chuàng)建

我們先創(chuàng)建一個空的項目,項目的依賴配置為starter-web依賴,創(chuàng)建好的項目下面有一個resources文件夾,里面有一些空的默認(rèn)的文件夾,然后有一個配置文件。

在這里插入圖片描述

templates文件下面一般是放置模板頁面的,比如html,jsp之類的,static文件一般是是放置靜態(tài)資源,比如說,圖片,文件等等。

我們放置了文件或者是圖片就需要訪問這個文件,看看怎么才能有效的實現(xiàn)訪問這些靜態(tài)資源文件,以及自己訪問自己定義好的資源訪問路徑。

2、資源文件訪問與配置

一般來說,我們是做前后端分離的,Springboot就作為后端,但是Springboot依然支持有html文件等,實現(xiàn)前后端在一個項目里面。也就是Springboot web項目。

首先,我們在templates文件夾下面創(chuàng)建一個名為index的html5頁面,然后隨便寫一點東西,然后在配置文件中,配置一個項目啟動端口。

在這里插入圖片描述

配置文件端口配置不再講解,前一期里面有配置文件詳解,不會的可以回去看看。
啟動項目,瀏覽器輸入:localhost:8088/index.html
你會發(fā)現(xiàn)頁面是404,這時候我們是訪問不了這個頁面的。然后你可能會說localhost:8088/templates/index.html,你會發(fā)現(xiàn)都不行都不行!

因為Springboot的默認(rèn)資源配置里面沒有這個templates路徑,但是有static路徑。

(1)Springboot中默認(rèn)的靜態(tài)資源路徑:

  • classpath:/static;
  • classpath:/public;
  • classpath:/resources;
  • classpath:/META-INF/resources

classpath 在項目中就相當(dāng)于src/main/resources文件夾.

就是說如果你把html文件直接放在static路徑下面是可以直接訪問的,有兩種訪問方式。

當(dāng)你添加了start-web的依賴,resources下面是會默認(rèn)生成一個static文件夾以及templates文件夾。

(2)自定義靜態(tài)資源路徑。

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

我們配置了靜態(tài)資源路徑映射之后,我們只能訪問這個路徑下面的資源,也就是相當(dāng)于自定義了靜態(tài)資源路徑,就是說默認(rèn)的靜態(tài)資源路徑都會失效。

(3)兩種訪問靜態(tài)資源的方式

一種是直接通過特定的URL訪問:我們配置好后,啟動項目,瀏覽器輸入:localhost:8088/index.html 就可以正常訪問我們的靜態(tài)資源了。

效果圖如下:

在這里插入圖片描述

然后還有一種訪問資源的方法。是使用代碼是實現(xiàn)的。

我們在和啟動文件同級目錄下面創(chuàng)建一個controller文件夾,然后創(chuàng)建一個Testcontroller,代碼如下:

/**
 * @author 全棧學(xué)習(xí)筆記
 * @date 2020/4/12 12:20
 * @description
 */
@Controller
public class TestController {
  @RequestMapping("/getHtml")
  public String getHtml(){
    return "index.html";
  }
}

說明:這個@Controller ,意思標(biāo)記這個類為控制類,或者說他是一個Springmvc controller對象,標(biāo)記之后,默認(rèn)這個類的所有方法返回的是一個頁面。然后這個@RequestMapping的注解是一個用來處理請求地址映射的注解,可用于類或方法上。用于方法之上時,你可以通過URL直接訪問這個方法。

到這里,我們就可以利用自定義URL訪問靜態(tài)資源了。在瀏覽器里面輸入:localhost:8088/getHtml 也能正常訪問靜態(tài)資源。圖片也是一樣的。

3、其他靜態(tài)資源路徑配置方式

(1)繼承WebMvcConfigurerAdapter

我們通過重寫這個類的addResourceHandlers方法,定義資源路徑

/**
 * @author 全棧學(xué)習(xí)筆記
 * @date 2020/4/12 15:46
 * @description
 */
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations("/","classpath:templates/");
    super.addResourceHandlers(registry);
  }
}

(2)優(yōu)化配置

你會看到之前的那種利用代碼的URL路徑訪問靜態(tài)資源文件的寫法,我們需要在返回的地方寫上文件的名稱以及文件的后綴名,當(dāng)我們要返回某一類型的文件時,這樣寫就相對比較麻煩,所以我們可以通過以下配置來解決這個問題。

#加前綴
spring.mvc.view.prefix=/
#加后綴
spring.mvc.view.suffix=.html

通過以上的配置,我們之前的controller里面的方法返回就可以寫成這樣。

@RequestMapping("/getHtml")
  public String getHtml(){
    return "index";
  }

總結(jié):

靜態(tài)資源配置路徑的兩種常用方式: 一種是默認(rèn)配置,一種是自定義配置,自定義配置可以是代碼配置,可以是配置文件里面配置。這兩種配置方式都會使原來默認(rèn)的配置方式失效。

靜態(tài)資源的訪問方式有兩種:一種是自己用代碼定義路徑,然后訪問,一種是直接利用特定的URL方式訪問靜態(tài)資源。

到此這篇關(guān)于SpringBoot web靜態(tài)資源配置詳解的文章就介紹到這了,更多相關(guān)SpringBoot web靜態(tài)資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Java中實現(xiàn)線程安全的單例模式的常見方式

    在Java中實現(xiàn)線程安全的單例模式的常見方式

    單例模式是一種常用的軟件設(shè)計模式,它確保一個類只有一個實例,并提供一個全局訪問點,在多線程環(huán)境下,確保單例模式的線程安全性是非常重要的,因為多個線程可能會同時嘗試創(chuàng)建實例,導(dǎo)致實例不唯一的問題,本文介紹了在Java中實現(xiàn)線程安全的單例模式有幾種常見的方式
    2024-09-09
  • 詳解Jmeter線程組的設(shè)置方法

    詳解Jmeter線程組的設(shè)置方法

    本文主要介紹了Jmeter線程組的設(shè)置方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • idea設(shè)置JVM運行參數(shù)的幾種方式

    idea設(shè)置JVM運行參數(shù)的幾種方式

    對JVM運行參數(shù)進行修改是JVM性能調(diào)優(yōu)的重要手段,本文主要介紹了idea設(shè)置JVM運行參數(shù)的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • JVM調(diào)優(yōu)參數(shù)的設(shè)置

    JVM調(diào)優(yōu)參數(shù)的設(shè)置

    Java虛擬機的調(diào)優(yōu)是一個復(fù)雜而關(guān)鍵的任務(wù),可以通過多種參數(shù)來實現(xiàn),本文就來介紹一下JVM調(diào)優(yōu)參數(shù)的設(shè)置,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • SpringMVC中的幾個模型對象

    SpringMVC中的幾個模型對象

    這篇文章主要介紹了SpringMVC中的幾個模型對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java各種鎖在工作中使用場景和細(xì)節(jié)經(jīng)驗總結(jié)

    Java各種鎖在工作中使用場景和細(xì)節(jié)經(jīng)驗總結(jié)

    本章主要說一說鎖在工作中的使用場景,主要以 synchronized 和 CountDownLatch 為例,會分別描述一下這兩種鎖的使用場景和姿勢
    2022-03-03
  • java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用

    java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用

    這篇文章主要給大家介紹了關(guān)于java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用的相關(guān)資料, 當(dāng)涉及到Java中數(shù)據(jù)庫數(shù)據(jù)處理時,我們可以利用強大的Java數(shù)據(jù)庫連接技術(shù)與各種數(shù)據(jù)庫進行交互,需要的朋友可以參考下
    2023-12-12
  • 淺析如何在Java應(yīng)用中優(yōu)雅的發(fā)送短信

    淺析如何在Java應(yīng)用中優(yōu)雅的發(fā)送短信

    很多業(yè)務(wù)場景里,我們都需要發(fā)送短信,比如登陸驗證碼、告警、營銷通知、節(jié)日祝福等等,這篇文章,我們聊聊 Java 應(yīng)用中如何優(yōu)雅的發(fā)送短信,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11
  • 詳解springboot整合ueditor踩過的坑

    詳解springboot整合ueditor踩過的坑

    這篇文章主要介紹了詳解springboot整合ueditor踩過的坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java中的各種修飾符作用及范圍

    java中的各種修飾符作用及范圍

    這篇文章主要介紹了java中的各種修飾符作用及范圍,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論