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

SpringBoot中自定義首頁(默認(rèn)頁)及favicon的方法

 更新時間:2023年08月07日 10:16:09   作者:我要大芒果  
這篇文章主要介紹了SpringBoot中如何自定義首頁(默認(rèn)頁)及favicon,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、前言

之前就有小伙伴問我,SpringBoot項(xiàng)目如何自定義首頁,因?yàn)榭吹絼e人項(xiàng)目首頁都挺漂亮的,今天剛剛說一下這個首頁,順帶也說一下favicon。

二、自定義首頁

在了解如何自定義首頁之前,還是需要先了解一下SpringBoot中默認(rèn)情況下訪問靜態(tài)資源的解決方案,可以參考我之前的博客,http://www.fzitv.net/program/293798lcn.htm。

上面的博客中提到了共有5個路徑,這5個路徑下放首頁都可生效。下面我將一探究竟。

首先,在classpath:/static/classpath:/templates/下,分別放入index.html,至于里面顯示的內(nèi)容可以區(qū)分一下,如下:

classpath:/static/ -> index.html】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello static !</h1>
</body>
</html>

classpath:/templates/ -> index.html】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello thymeleaf !</h1>
</body>
</html>

至于為什么在classpath:/templates/下放index.html,是因?yàn)槲倚枰?yàn)證一下,如果classpath:/static/下沒有index.html文件時,是否會訪問classpath:/templates/下的index.html文件?

因?yàn)?code>classpath:/templates/下的模板,一般情況下,需要使用Controller來訪問,所以,這里我們還需要定義一個HelloController,如下:

@Controller
public class HelloController {
    @GetMapping("/index")
    public String hello(){
        return "index";
    }
}

啟動項(xiàng)目,在瀏覽器地址欄輸入http://localhost:8080/,看到底訪問的是哪個index.html文件,如下:

在這里插入圖片描述

可以看到,默認(rèn)情況下,是訪問classpath:/static/下的index.html,那么接下來,我們把classpath:/static/下的index.html文件刪除,然后重啟項(xiàng)目,在瀏覽器使用Ctrl+F5刷新一下,再看看,如下:

在這里插入圖片描述

這個結(jié)果正好驗(yàn)證了我上面的假設(shè)是成立的,所以我們學(xué)習(xí)知識,不能靠假設(shè),還需要通過源碼來驗(yàn)證你的假設(shè),下面我將對上面兩種情況用源碼進(jìn)行驗(yàn)證。

三、源碼剖析

首先,我們找到WebMvcAutoConfiguration類中的getWelcomePage方法,如下:

在這里插入圖片描述

該方法中的第一行,其實(shí)就很熟悉了,我上面給的那篇博客中有詳細(xì)的介紹,這里我只說明第一行,共返回了5個目錄,分別是:classpath:/META-INF/resources/、classpath:/resources/classpath:/static/、classpath:/public/、/,所以你的index.html放在上面的哪個目錄下都行。第二行就是在這5個目錄下依次去尋找index.html,有一個getIndexHtml方法,就是它的功勞,如下:

在這里插入圖片描述

接下來,我們再看看為什么classpath:/static/下沒有index.html文件時,默認(rèn)會訪問classpath:/templates/下的index.html,因?yàn)閯?chuàng)建項(xiàng)目時,我添加了thymeleaf依賴,如下:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

如果沒有上面這個依賴,上面的假設(shè)將不會成立,那為什么添加了這個依賴后,這個假設(shè)就成立呢?

因?yàn)镾pringBoot默認(rèn)已經(jīng)集成了4種類型的模板,如下:

在這里插入圖片描述

所以,只要添加了模板依賴,classpath:/templates/下的模板文件便可以訪問。

四、自定義favicon

給大家推薦一個制作favicon的網(wǎng)站,如:https://tool.lu/favicon/。

先在上面的網(wǎng)站中,制作好自己想要的favicon,然后將該favicon放在項(xiàng)目的classpath:/static/下,其他favicon可以放的目錄和靜態(tài)資源可放目錄基本相同,至于為什么放classpath:/static/下呢?因?yàn)閯?chuàng)建項(xiàng)目時,該目錄默認(rèn)被創(chuàng)建好了,所以就放在它下面即可,如下:

在這里插入圖片描述

運(yùn)行結(jié)果如下:

在這里插入圖片描述

五、源碼地址

https://github.com/java22/welcome

到此這篇關(guān)于SpringBoot中如何自定義首頁(默認(rèn)頁)及favicon的文章就介紹到這了,更多相關(guān)springboot自定義首頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jenkins之Windows服務(wù)器通過ssh遠(yuǎn)程發(fā)布

    Jenkins之Windows服務(wù)器通過ssh遠(yuǎn)程發(fā)布

    該文章介紹了在Windows系統(tǒng)中通過SSH插件實(shí)現(xiàn)Jenkins遠(yuǎn)程構(gòu)建部署的配置方法,包括安裝OpenSSH、配置遠(yuǎn)程服務(wù)器連接參數(shù)、設(shè)置文件傳輸路徑及執(zhí)行命令,并測試連接確保功能正常
    2025-09-09
  • SpringCloud超詳細(xì)講解微服務(wù)網(wǎng)關(guān)Zuul

    SpringCloud超詳細(xì)講解微服務(wù)網(wǎng)關(guān)Zuul

    這篇文章主要介紹了SpringCloud Zuul微服務(wù)網(wǎng)關(guān),負(fù)載均衡,熔斷和限流,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 關(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解

    關(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解

    下面小編就為大家?guī)硪黄P(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用配置常用相關(guān)視圖解析器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • java 反射和動態(tài)代理詳解及實(shí)例代碼

    java 反射和動態(tài)代理詳解及實(shí)例代碼

    這篇文章主要介紹了java 反射和動態(tài)代理詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • SpringBoot整合Web開發(fā)之Json數(shù)據(jù)返回的實(shí)現(xiàn)

    SpringBoot整合Web開發(fā)之Json數(shù)據(jù)返回的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot整合Web開發(fā)其中Json數(shù)據(jù)返回的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 解析Java中所有錯誤和異常的父類java.lang.Throwable

    解析Java中所有錯誤和異常的父類java.lang.Throwable

    這篇文章主要介紹了Java中所有錯誤和異常的父類java.lang.Throwable,文章中簡單地分析了其源碼,說明在代碼注釋中,需要的朋友可以參考下
    2016-03-03
  • java中Hutool包的常用方法總結(jié)

    java中Hutool包的常用方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了java在工作中中Hutool包的一些常用方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • springboot使用mybatis一對多的關(guān)聯(lián)查詢問題記錄

    springboot使用mybatis一對多的關(guān)聯(lián)查詢問題記錄

    這篇文章主要介紹了springboot使用mybatis一對多的關(guān)聯(lián)查詢問題記錄,剛好最近有個需求需要做到關(guān)聯(lián)的查詢,時間也算充足,所以用sql來寫,于是踩了很久坑,終于跳出來了,小小記錄一下
    2022-01-01
  • JDK8中新增的原子性操作類LongAdder詳解

    JDK8中新增的原子性操作類LongAdder詳解

    這篇文章主要給大家介紹了關(guān)于JDK8中新增的原子性操作類LongAdder的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評論

绥化市| 和龙市| 昌邑市| 太保市| 寿光市| 旬阳县| 闽清县| 平南县| 古交市| 济南市| 重庆市| 繁峙县| 大田县| 汾西县| 界首市| 宁德市| 巢湖市| 德兴市| 永州市| 盈江县| 林周县| 图木舒克市| 佳木斯市| 徐州市| 祁阳县| 南陵县| 舟山市| 平阴县| 泉州市| 阳信县| 东兴市| 遂昌县| 房山区| 丽江市| 县级市| 黑山县| 道孚县| 株洲市| 东宁县| 庄浪县| 天峨县|