java入門014~springboot自定義錯誤頁面 並重定向到首頁

上一節給大家講解了springboot的全局異常處理,開發者可以根據實際情況返回不同的頁面,但是這種全局異常處理的方式一般用來處理應用級別的異常,有一些容器級別的錯誤就處理不了,比如Filter中拋出的異常,使用controllerAdvice定義的全局異常處理機制就沒有辦法處理了。因此springboot中對於異常的處理還有另外的方式。這就是本節要介紹的內容。

如果上一節的全局異常處理你還沒有看過,可以點擊下面鏈接查看。也可以到老師的專欄裏查看歷史文章。

java入門013~java異常的捕獲~springboot通過@ControllerAdvice和@ExceptionHandler來捕獲異常

老規矩,先看效果圖

在這裏插入圖片描述

可以看出,我們在發生錯誤時,跳轉到了自定義的404錯誤頁面,然後隔5秒後,會重新跳轉到我們的首頁。假設我們的首頁就是 @頭條號 首頁

本節知識點

  • 1,自定義錯誤頁面

  • 2,錯誤頁面重定向到首頁

一,默認的錯誤頁面

其實在springboot中,默認情況下,如果用戶在發起請求時發生404錯誤,springboot會有一個默認的頁面展示給用戶,如下圖。

在這裏插入圖片描述

如果請求時發生500錯誤,也會有默認的頁面展示給用戶的,如下圖。

在這裏插入圖片描述

但是這些都是自帶的默認的錯誤頁面,用戶看起來不是很友好。所以我們接下來教大家如何自定義錯誤頁面。

二,自定義錯誤頁面

1,我們需要在resources目錄下,新建一個error目錄,然後在error目錄下添加一個404.html頁面。這樣我們再發生404錯誤時,就會跳轉到我們這個自己定義的錯誤頁面了。

在這裏插入圖片描述

2,在404.html裏寫下面的代碼

在這裏插入圖片描述

這樣我們自定義的錯誤頁面就定義好了,下面給大家講解我們如何在進入錯誤頁面後,重定向到我們的首頁。我們總不能讓用戶一直看這個錯誤頁面吧。

三,錯誤頁面重定向到首頁

重定向就是重新打開的意思。我們從錯誤頁面重定向到首頁,就是從錯誤頁面跳轉到我們的首頁。

重定向有下面兩種實現方式

1,通過定義meta屬性

2,通過在js使用location.href實現重定向

在這裏插入圖片描述

通過上圖我們可以看到兩種重定向的使用方法。
完整代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--    <meta http-equiv="Refresh" content="5;url=https://www.toutiao.com/"/>-->
    <title>404錯誤</title>
    <script type="text/javascript">
        window.onload = function () {
            var i = 4;
            var tim = document.getElementById("timers");
            var timer = setInterval(function () {
                if (i == -1) {
                    //第二種跳轉方式
                    window.location.href = "https://www.toutiao.com/";
                    clearInterval(timer);
                } else {
                    tim.innerHTML = i;
                    --i;
                }
            }, 1000);
        }
    </script>
</head>
<body>
404錯誤。
<p>您將在 <span id="timers" style="color: red; font-size: 5rem">5</span> 秒內跳轉到首頁。</p>
<p><a href="https://www.toutiao.com/">首頁</a></p>
<p>如果超過 5 秒後您仍然看到本消息,請點擊上面的首頁鏈接。</p>
</body>
</html>

到這裏我們自定義錯誤頁面,並且重定向到首頁的功能就實現了,是不是很簡單,我後面一節會錄製專門的視頻來講解。

本節課的源碼,我也已經放到了網盤裏,有需要的同學請關注老師,然後在底部留言,老師看到後會及時回覆的。

本節課是《手把手帶你零基礎入門java開發》系列課程的一節,如果你想快速入門java開發,想開發一款屬於自己的java項目,想學習springboot,想了解小程序,想了解全棧開發,想開發自己的網站,可以跟着老師來零基礎入門。

視頻講解地址:https://edu.csdn.net/course/detail/23443

歷史文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章