SpringBoot異常錯誤頁面實現(xiàn)方法介紹
導言
默認情況下,SpringBoot 項目錯誤頁面如下:


直接這樣太丑了,我們實際上線項目時,如果給用戶顯示這個頁面就不是很友好,用戶直接不用了。
所以當系統(tǒng)出現(xiàn)異常時應(yīng)該給用戶更加友好的錯誤頁面,下面我們來看具體是如何實現(xiàn)的。
實現(xiàn)步驟
加入thymeleaf依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在templates/下新建error文件夾

在error中新建:狀態(tài).html的頁面。例如當出現(xiàn)500時顯示的頁面為500.html,當出現(xiàn)404時顯示的頁面為404.html,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>404</title>
</head>
<body>
<h1>
404!沒有這個請求,請檢查!
</h1>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>500</title>
</head>
<body>
<h1>
500!您的代碼出現(xiàn)了內(nèi)部錯誤,請檢查!
</h1>
</body>
</html>
然后創(chuàng)建controller
@Controller
public class ErrorController {
@RequestMapping("/test")
public String testError(){
System.out.println(5/0);
// return "500";
return "500.html";
}
}
我們知道,在運行上面代碼的時候發(fā)生算術(shù)異常。錯誤碼為500。
測試如下:

使用X進行模糊匹配
- 當出現(xiàn)5開頭狀態(tài)碼的錯誤時,顯示頁面可以命名為5xx.html
- 如果500.html和5xx.html同時存在,則會精確匹配相應(yīng)頁面
我們把剛才的500.html改為5xx.html,也是可以的

因為發(fā)生了5開頭的異常,會走5xx.html,測試如下:

統(tǒng)一錯誤頁面顯示
在templates下新建error.html。如果項目中不存在具體狀態(tài)碼的頁面或沒有使用x成功匹配的頁面時,顯示error.html作為錯誤顯示頁面。
比如我們在error下沒有設(shè)置4xx相關(guān)的錯誤頁面,當發(fā)生狀態(tài)碼為4xx的錯誤時,找不到相關(guān)的錯誤處理頁面,這時會走一個統(tǒng)一的錯誤處理頁面。一般會在templates下創(chuàng)建error.html,作為統(tǒng)一的錯誤處理頁面。
在templates下創(chuàng)建error.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>error</title>
</head>
<body>
<h1>
error?。。?
</h1>
</body>
</html>當發(fā)生404錯誤時,會自動走error.html

到此這篇關(guān)于SpringBoot異常錯誤頁面實現(xiàn)方法介紹的文章就介紹到這了,更多相關(guān)SpringBoot錯誤頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java-collection中的null,isEmpty用法
這篇文章主要介紹了java-collection中的null,isEmpty用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
解決idea 通過build project 手動觸發(fā)熱部署失敗的問題
在debug運行項目的過程中,并且保證(不添加方法,不修改方法名)一定的規(guī)則的情況下,可以通過build project 來手動熱部署項目,本文給大家介紹解決idea 通過build project 手動觸發(fā)熱部署失敗的問題,感興趣的朋友一起看看吧2023-12-12
java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實例詳解
在本篇文章里小編給大家分享的是關(guān)于java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實例內(nèi)容,需要的朋友們可以學習下。2020-05-05

