亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、前言

之前就有小伙伴問我,SpringBoot項目如何自定義首頁,因為看到別人項目首頁都挺漂亮的,今天剛剛說一下這個首頁,順帶也說一下favicon。

二、自定義首頁

在了解如何自定義首頁之前,還是需要先了解一下SpringBoot中默認情況下訪問靜態(tài)資源的解決方案,可以參考我之前的博客,http://chabaoo.cn/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,是因為我需要驗證一下,如果classpath:/static/下沒有index.html文件時,是否會訪問classpath:/templates/下的index.html文件?

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

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

三、源碼剖析

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

因為SpringBoot默認已經(jīng)集成了4種類型的模板,如下:

在這里插入圖片描述

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

四、自定義favicon

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

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

在這里插入圖片描述

運行結(jié)果如下:

在這里插入圖片描述

五、源碼地址

https://github.com/java22/welcome

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

相關(guān)文章

  • jackson設置返回null為空字符串的操作

    jackson設置返回null為空字符串的操作

    這篇文章主要介紹了jackson設置返回null為空字符串的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • springboot實現(xiàn)文件上傳和下載功能

    springboot實現(xiàn)文件上傳和下載功能

    這篇文章主要為大家詳細介紹了springboot實現(xiàn)文件上傳和下載功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java使用Poi導出Excel表格方法實例

    Java使用Poi導出Excel表格方法實例

    這篇文章主要給大家介紹了關(guān)于Java使用Poi導出Excel表格的相關(guān)資料,Java POI是一個用于操作Microsoft Office格式的Java API庫,可以使用它來導出Excel文件,需要的朋友可以參考下
    2023-10-10
  • JAVA如何定義構(gòu)造函數(shù)過程解析

    JAVA如何定義構(gòu)造函數(shù)過程解析

    這篇文章主要介紹了JAVA如何定義構(gòu)造函數(shù)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot2.0如何自定義404頁面渲染

    SpringBoot2.0如何自定義404頁面渲染

    這篇文章主要介紹了SpringBoot2.0如何自定義404頁面渲染問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring IOC原理詳解

    Spring IOC原理詳解

    這篇文章主要介紹了Spring IOC原理詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 關(guān)于重寫equals()方法和hashCode()方法及其簡單的應用

    關(guān)于重寫equals()方法和hashCode()方法及其簡單的應用

    這篇文章主要介紹了關(guān)于重寫equals()方法和hashCode()方法及其簡單的應用,網(wǎng)上的知識有些可能是錯誤的,關(guān)于?equals()?方法的理解,大家討論不一樣,需要的朋友可以參考下
    2023-04-04
  • Java中迭代器Iterator的使用解析

    Java中迭代器Iterator的使用解析

    Java采用了迭代器來為各種容器提供了公共的操作接口,下面通過本文給大家分享Java中迭代器Iterator的使用解析,需要的朋友參考下吧
    2017-09-09
  • springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問題

    springmvc使用REST出現(xiàn):Request?method?'PUT'?not?sup

    這篇文章主要介紹了springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java 實戰(zhàn)項目之精品養(yǎng)老院管理系統(tǒng)的實現(xiàn)流程

    Java 實戰(zhàn)項目之精品養(yǎng)老院管理系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+Maven+mybatis+Vue+Mysql實現(xiàn)一個精品養(yǎng)老院管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11

最新評論