spring boot 錯(cuò)誤頁(yè)面配置解決方案
這篇文章主要介紹了spring boot 錯(cuò)誤頁(yè)面配置解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
如果訪問(wèn)了錯(cuò)誤的路徑,或者后臺(tái)報(bào)錯(cuò)
如果沒(méi)有一個(gè)統(tǒng)一的頁(yè)面!
或者說(shuō)頁(yè)面上展示一堆報(bào)錯(cuò)信息,既影響美觀,又對(duì)用戶不友好!
那么如何配置?
定義 ErrorPageConfig,配置錯(cuò)誤狀態(tài)與對(duì)應(yīng)訪問(wèn)路徑
@Component
public class ErrorPageConfig implements ErrorPageRegistrar {
private static final Logger logger = LoggerFactory.getLogger(ErrorPageConfig.class);
@Override
public void registerErrorPages(ErrorPageRegistry errorPageRegistry) {
//1、按錯(cuò)誤的類型顯示錯(cuò)誤的網(wǎng)頁(yè)
//錯(cuò)誤類型為404,找不到網(wǎng)頁(yè)的,默認(rèn)顯示404.html網(wǎng)頁(yè)
ErrorPage e404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404");
//錯(cuò)誤類型為500,表示服務(wù)器響應(yīng)錯(cuò)誤,默認(rèn)顯示500.html網(wǎng)頁(yè)
ErrorPage e500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500");
errorPageRegistry.addErrorPages(e404, e500);
}
}
定義控制器,專門(mén)用于ErrorPageConfig 跳轉(zhuǎn)路徑
@Controller
@RequestMapping("/error")
public class ErrorController {
/**
* 404頁(yè)面
*/
@GetMapping(value = "/404")
public String error_404() {
return "comm/error_404";
}
/**
* 500頁(yè)面
*/
@GetMapping(value = "/500")
public String error_500() {
return "comm/error_500";
}
}
在comm文件夾 下新建頁(yè)面

訪問(wèn)不存在的地址,或者后臺(tái)報(bào)錯(cuò),即可展示友好頁(yè)面

參考鏈接找不到了。
感謝:https://github.com/ZHENFENG13
其實(shí),還有bug。
- 比如訪問(wèn) http://localhost:9090/admin/1 沒(méi)有直接報(bào)404,反而 真的去找了這個(gè)路徑
- 與后臺(tái)admin開(kāi)頭的要跳轉(zhuǎn)到登錄頁(yè)面攔截器發(fā)生沖突,導(dǎo)致500錯(cuò)誤
- 比如直接訪問(wèn) http://localhost:9090/error ,會(huì)報(bào)一個(gè)909錯(cuò)誤,再次回到原生的報(bào)錯(cuò)頁(yè)面
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC框架和SpringBoot項(xiàng)目中控制器的響應(yīng)結(jié)果深入分析
這篇文章主要介紹了SpringMVC框架和SpringBoot項(xiàng)目中控制器的響應(yīng)結(jié)果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12
SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式
本文主要介紹了SpringBoot實(shí)現(xiàn)HTTP調(diào)用的7 種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
淺談十個(gè)常見(jiàn)的Java異常出現(xiàn)原因
這篇文章主要介紹了十個(gè)常見(jiàn)的Java異常出現(xiàn)原因,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
mybatis中BigDecimal中的0存為null的坑及解決
在使用MyBatis進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),若Java中屬性類型為BigDecimal且值為0,插入數(shù)據(jù)庫(kù)時(shí)可能會(huì)變?yōu)閚ull,而不是0,這個(gè)問(wèn)題可能是由于MyBatis在處理BigDecimal類型時(shí)的弱類型判斷導(dǎo)致的,當(dāng)BigDecimal變量與空字符串進(jìn)行比較時(shí),MyBatis可能將其視為null2024-10-10
Java 實(shí)戰(zhàn)練習(xí)之網(wǎng)上電商項(xiàng)目的實(shí)現(xiàn)
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)網(wǎng)上電商項(xiàng)目,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11
如何利用 Either 和 Option 進(jìn)行函數(shù)式錯(cuò)誤處理
這篇文章主要介紹了如何利用 Either 和 Option 進(jìn)行函數(shù)式錯(cuò)誤處理。在 Java 中,錯(cuò)誤的處理在傳統(tǒng)上由異常以及創(chuàng)建和傳播異常的語(yǔ)言支持進(jìn)行。但是,如果不存在結(jié)構(gòu)化異常處理又如何呢?,需要的朋友可以參考下2019-06-06
Netty分布式server啟動(dòng)流程N(yùn)io創(chuàng)建源碼分析
這篇文章主要介紹了Netty分布式server啟動(dòng)流程N(yùn)io創(chuàng)建源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03

