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

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

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

引言:

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

1、 項(xiàng)目創(chuàng)建

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

在這里插入圖片描述

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

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

2、資源文件訪問(wèn)與配置

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

首先,我們?cè)趖emplates文件夾下面創(chuàng)建一個(gè)名為index的html5頁(yè)面,然后隨便寫一點(diǎn)東西,然后在配置文件中,配置一個(gè)項(xiàng)目啟動(dòng)端口。

在這里插入圖片描述

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

因?yàn)镾pringboot的默認(rèn)資源配置里面沒有這個(gè)templates路徑,但是有static路徑。

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

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

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

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

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

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

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

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

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

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

效果圖如下:

在這里插入圖片描述

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

我們?cè)诤蛦?dòng)文件同級(jí)目錄下面創(chuàng)建一個(gè)controller文件夾,然后創(chuàng)建一個(gè)Testcontroller,代碼如下:

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

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

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

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

(1)繼承WebMvcConfigurerAdapter

我們通過(guò)重寫這個(gè)類的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)化配置

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

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

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

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

總結(jié):

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    SpringMVC中的幾個(gè)模型對(duì)象

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

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

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

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

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

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

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

    詳解springboot整合ueditor踩過(guò)的坑

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

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

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

最新評(píng)論