上一節給大家講解了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