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

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

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

引言:

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

1、 項目創(chuàng)建

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

在這里插入圖片描述

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的默認資源配置里面沒有這個templates路徑,但是有static路徑。

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

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

classpath 在項目中就相當于src/main/resources文件夾.

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

當你添加了start-web的依賴,resources下面是會默認生成一個static文件夾以及templates文件夾。

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

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

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

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

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

效果圖如下:

在這里插入圖片描述

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

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

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

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

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

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

(1)繼承WebMvcConfigurerAdapter

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

/**
 * @author 全棧學習筆記
 * @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)資源文件的寫法,我們需要在返回的地方寫上文件的名稱以及文件的后綴名,當我們要返回某一類型的文件時,這樣寫就相對比較麻煩,所以我們可以通過以下配置來解決這個問題。

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

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

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

總結(jié):

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

靜態(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中如何優(yōu)雅的停止一個線程

    淺析在Java中如何優(yōu)雅的停止一個線程

    我們知道在Java中可以通過new Thread().start()創(chuàng)建一個線程,那今天我們就來思考另外一個問題:線程的終止,快跟隨小編一起學習起來吧
    2024-03-03
  • Java生成Jar包方法步驟

    Java生成Jar包方法步驟

    在Java開發(fā)中,打包成JAR文件是一種常見的方式,本文主要介紹了Java生成Jar包方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 優(yōu)化常見的java排序算法

    優(yōu)化常見的java排序算法

    這篇文章主要介紹了Java編程中快速排序算法的實現(xiàn)及相關(guān)算法優(yōu)化,快速排序算法的最差時間復雜度為(n^2),最優(yōu)時間復雜度為(n\log n),存在優(yōu)化的空間,需要的朋友可以參考下
    2021-07-07
  • PowerJob Alarmable工作流程源碼剖析

    PowerJob Alarmable工作流程源碼剖析

    這篇文章主要為大家介紹了PowerJob Alarmable工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 在SpringBoot中實現(xiàn)一個訂單號生成系統(tǒng)的示例代碼

    在SpringBoot中實現(xiàn)一個訂單號生成系統(tǒng)的示例代碼

    在Spring Boot中設計一個訂單號生成系統(tǒng),主要考慮到生成的訂單號需要滿足的幾個要求:唯一性、可擴展性、以及可能的業(yè)務相關(guān)性,本文給大家介紹了幾種常見的解決方案及相應的示例代碼,需要的朋友可以參考下
    2024-02-02
  • java調(diào)用接口返回亂碼問題及解決

    java調(diào)用接口返回亂碼問題及解決

    這篇文章主要介紹了java調(diào)用接口返回亂碼問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java實現(xiàn)把兩個有序數(shù)組合并到一個數(shù)組的實例

    java實現(xiàn)把兩個有序數(shù)組合并到一個數(shù)組的實例

    今天小編就為大家分享一篇java實現(xiàn)把兩個有序數(shù)組合并到一個數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Springboot使用Spring Data JPA實現(xiàn)數(shù)據(jù)庫操作

    Springboot使用Spring Data JPA實現(xiàn)數(shù)據(jù)庫操作

    Spring Data JPA 是 Spring 基于 Spring Data 框架、在JPA 規(guī)范的基礎上開發(fā)的一個框架,使用 Spring Data JPA 可以極大地簡化JPA 的寫法,本章我們將詳細介紹在Springboot中使用 Spring Data JPA 來實現(xiàn)對數(shù)據(jù)庫的操作
    2021-06-06
  • java?poi導入純數(shù)字等格式問題及解決

    java?poi導入純數(shù)字等格式問題及解決

    這篇文章主要介紹了java?poi導入純數(shù)字等格式問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot如何使用slf4j日志及其項目配置、MVC支持

    SpringBoot如何使用slf4j日志及其項目配置、MVC支持

    這篇文章主要介紹了SpringBoot如何使用slf4j日志及其項目配置、MVC支持,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

边坝县| 贡觉县| 滁州市| 黄龙县| 新干县| 云浮市| 云南省| 前郭尔| 兰考县| 宁波市| 政和县| 许昌市| 水富县| 原阳县| 绥阳县| 项城市| 莎车县| 黔东| 石渠县| 湖南省| 图们市| 乌拉特前旗| 沧源| 北碚区| 商丘市| 丰顺县| 云浮市| 河北省| 黄石市| 离岛区| 成武县| 平顶山市| 清苑县| 西华县| 文山县| 伊金霍洛旗| 葵青区| 乌拉特中旗| 和平区| 商河县| 鲁甸县|