最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot中自定義異常以及定制異常界面實現(xiàn)過程解析

 更新時間:2019年09月26日 14:39:24   作者:shun-w  
這篇文章主要介紹了springboot中自定義異常以及定制異常界面實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

不多說廢話,直接進(jìn)入主菜??!

步驟:

1.搭建SpringBoot的開發(fā)環(huán)境,略(有不會的可以私信我)。

2.編寫一個自定義異常,自定義異常需要繼承RuntimeException。寫一個構(gòu)造函數(shù),并調(diào)用父類保存異常信息。

public class MyException extends RuntimeException {
  public MyException(String massage) {
    super(massage);
  }
}

3.編寫一個控制器,用于拋出異常。當(dāng)請求參數(shù)param=aa時拋出異常,否則不拋出異常。

@Controller
public class MyController {
  @ResponseBody
  @RequestMapping("/exception")
  public String ee(String param){
    if(param.equals("aa")){
      throw new MyException("拋出自定義異常");
    }
    return "沒有拋出異常";
  }
}

當(dāng)控制器拋出自定義異常時,這是服務(wù)器會發(fā)生狀態(tài)碼為500的錯誤。springboot自帶的異常界面不是很友好,我們可以定制一個異常界面用于顯示異常信息,看下一步驟。

4.定制自定義異常處理界面。springboot自動配置了視圖解析器,我們可以編寫一個500.html放在classpath:tempaltes/error目錄下。

500.html代碼如下(用的是thymeleaf渲染):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
status: [[${status}]] <br>
timestamp: [[${timestamp}]] <br>
message: [[${message}]] <br>
exception: [[${exception}]] <br>
</body>
</html>

代碼已經(jīng)編寫完畢,來看看效果吧!

當(dāng)我們訪問 http://localhost/exception?param=aa時拋出異常,結(jié)果如下:

訪問 http://localhost/exception?param=bb,不會拋出異常,結(jié)果如下:

** 舉一反三:在用戶管理系統(tǒng)中,我們可以自定義用戶不存在異常類,當(dāng)查詢某個不存在的用戶時,讓控制器拋出用戶不存在異常,并跳轉(zhuǎn)到一個友好的提示界面。

搶票系統(tǒng),當(dāng)用戶購買的票已經(jīng)賣完,我們可以拋出一個自定義的票已經(jīng)沒有的異常,并跳轉(zhuǎn)到一個友好的提示界面。 **

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC請求數(shù)據(jù)詳解講解

    SpringMVC請求數(shù)據(jù)詳解講解

    Spring MVC 是 Spring 提供的一個基于 MVC 設(shè)計模式的輕量級 Web 開發(fā)框架,本質(zhì)上相當(dāng)于 Servlet,Spring MVC 角色劃分清晰,分工明細(xì),本章來講解SpringMVC如何請求數(shù)據(jù)
    2022-07-07
  • 一文了解Java Log框架徹底搞懂Log4J,Log4J2,LogBack,SLF4J

    一文了解Java Log框架徹底搞懂Log4J,Log4J2,LogBack,SLF4J

    本文主要介紹了一文了解Java Log框架徹底搞懂Log4J,Log4J2,LogBack,SLF4J,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例

    Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例

    這篇文章主要介紹了Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例,冒泡排序的最差時間復(fù)雜度為O(n^2),最優(yōu)時間復(fù)雜度為O(n),存在優(yōu)化的余地,需要的朋友可以參考下
    2016-05-05
  • Java使用觀察者模式實現(xiàn)氣象局高溫預(yù)警功能示例

    Java使用觀察者模式實現(xiàn)氣象局高溫預(yù)警功能示例

    這篇文章主要介紹了Java使用觀察者模式實現(xiàn)氣象局高溫預(yù)警功能,結(jié)合完整實例形式分析了java觀察者模式實現(xiàn)氣象局高溫預(yù)警的相關(guān)接口定義、使用、功能操作技巧,并總結(jié)了其設(shè)計原則與適用場合,具有一定參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • Redis內(nèi)存數(shù)據(jù)庫示例分析

    Redis內(nèi)存數(shù)據(jù)庫示例分析

    Redis本身的內(nèi)容比較復(fù)雜。如果你上來,你應(yīng)該研究一個細(xì)節(jié)點,比如連接池和數(shù)據(jù)結(jié)構(gòu)。雖然可以直接了解某一點的詳細(xì)來源內(nèi)容,甚至盡快解決一些意外,但是容易淹沒在失眠的細(xì)節(jié)中,整體控制不了Redis
    2022-12-12
  • Spring Boot + Kotlin整合MyBatis的方法教程

    Spring Boot + Kotlin整合MyBatis的方法教程

    前幾天由于工作需要,便開始學(xué)習(xí)了kotlin,java基礎(chǔ)扎實學(xué)起來也還算比較快,對于kotlin這個編程語言自然是比java有趣一些,下面這篇文章主要給大家介紹了關(guān)于Spring Boot + Kotlin整合MyBatis的方法教程,需要的朋友可以參考下。
    2018-01-01
  • Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法

    Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法

    這篇文章主要介紹了Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • mybatis如何返回某列的最大值

    mybatis如何返回某列的最大值

    這篇文章主要介紹了mybatis如何返回某列的最大值操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java中并行執(zhí)行任務(wù)的多種方式

    Java中并行執(zhí)行任務(wù)的多種方式

    在Java編程中,經(jīng)常會遇到需要并行執(zhí)行任務(wù)的情況,特別是在處理大量數(shù)據(jù)或者需要異步處理的場景下,本文將介紹幾種常用的并行執(zhí)行任務(wù)的方式,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-04-04
  • Request與Session的存值取值操作

    Request與Session的存值取值操作

    這篇文章主要介紹了Request與Session的存值取值操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

隆尧县| 教育| 阳城县| 会同县| 武邑县| 瓦房店市| 绍兴县| 原阳县| 金乡县| 武胜县| 姚安县| 安岳县| 甘洛县| 福建省| 榆树市| 新和县| 汕头市| 宁国市| 偏关县| 马关县| 台前县| 成安县| 古蔺县| 连江县| 白朗县| 龙山县| 元朗区| 永寿县| 吉安县| 额济纳旗| 鄂伦春自治旗| 青神县| 英超| 泰和县| 富民县| 甘南县| 韶关市| 阿坝县| 阿克| 长岛县| 山阳县|