SpringBoot詳解實(shí)現(xiàn)自定義異常處理頁(yè)面方法
1.相關(guān)介紹
當(dāng)發(fā)生異常時(shí), 跳轉(zhuǎn)到我們自定義的異常處理頁(yè)面.
SpringBoot中只需在靜態(tài)資源目錄下創(chuàng)建一個(gè)error文件夾, 并把異常處理頁(yè)面放入其中, 頁(yè)面的命名與異常錯(cuò)誤代碼對(duì)應(yīng), 如404.html, 500.html.
5xx.html可以對(duì)應(yīng)所有錯(cuò)誤代碼為5開頭的錯(cuò)誤
默認(rèn)靜態(tài)資源目錄為類路徑(resources)下的:
- /static
- /public
- /resources
- /META-INF/resources
2.代碼實(shí)現(xiàn)
HelloController
package com.limi.springboottest2.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @ResponseBody @GetMapping("/test1") public String test1(){ int i = 10/0; //模擬500異常 return "ok"; } }
404.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>這是自定義404</h1> </body> </html>
5xx.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>這是自定義5xx</h1> </body> </html>
3.運(yùn)行測(cè)試
測(cè)試404
測(cè)試500
使用postman測(cè)試
{
"timestamp": "2022-06-22T04:12:13.740+00:00",
"status": 500,
"error": "Internal Server Error",
"trace": "java.lang.ArithmeticException: / by zero\r\n\tat com.limi.springboottest2.controller.HelloController.test1(HelloController.java:14),
"message": "/ by zero",
"path": "/test1"
}
返回的信息我們可以使用模板引擎(如thymeleaf)獲取并寫入自定義的異常處理頁(yè)面中
到此這篇關(guān)于SpringBoot詳解實(shí)現(xiàn)自定義異常處理頁(yè)面方法的文章就介紹到這了,更多相關(guān)SpringBoot異常處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java虛擬機(jī)JVM性能優(yōu)化(一):JVM知識(shí)總結(jié)
這篇文章主要介紹了Java虛擬機(jī)JVM性能優(yōu)化(一):JVM知識(shí)總結(jié),本文是系列文章的第一篇,后續(xù)篇章請(qǐng)繼續(xù)關(guān)注腳本之家,需要的朋友可以參考下2014-09-09java 中JFinal getModel方法和數(shù)據(jù)庫(kù)使用出現(xiàn)問題解決辦法
這篇文章主要介紹了java 中JFinal getModel方法和數(shù)據(jù)庫(kù)使用出現(xiàn)問題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04java程序員如何編寫更好的單元測(cè)試的7個(gè)技巧
測(cè)試是開發(fā)的一個(gè)非常重要的方面,可以在很大程度上決定一個(gè)應(yīng)用程序的命運(yùn)。良好的測(cè)試可以在早期捕獲導(dǎo)致應(yīng)用程序崩潰的問題,但較差的測(cè)試往往總是導(dǎo)致故障和停機(jī)。本文主要介紹java程序員編寫更好的單元測(cè)試的7個(gè)技巧。下面跟著小編一起來看下吧2017-03-03Spring Boot整合FTPClient線程池的實(shí)現(xiàn)示例
這篇文章主要介紹了Spring Boot整合FTPClient線程池的實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12淺談mybatis mapper.xml文件中$和#的區(qū)別
這篇文章主要介紹了淺談mybatis mapper.xml文件中$和#的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11解決MyEclipse下啟動(dòng)項(xiàng)目時(shí)JBoss內(nèi)存溢出的問題
下面小編就為大家?guī)硪黄鉀QMyEclipse下啟動(dòng)項(xiàng)目時(shí)JBoss內(nèi)存溢出的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07簡(jiǎn)單了解Java刪除字符replaceFirst原理及實(shí)例
這篇文章主要介紹了簡(jiǎn)單了解Java刪除字符replaceFirst原理及實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Netty分布式固定長(zhǎng)度解碼器實(shí)現(xiàn)原理剖析
這篇文章主要為大家介紹了Netty分布式固定長(zhǎng)度解碼器原理剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置)
這篇文章主要介紹了在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12