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

Java SpringMVC的自定義異常類

 更新時間:2022年03月15日 15:43:43   作者:程序員阿紅  
這篇文章主要為大家詳細介紹了SpringMVC的自定義異常類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1. 異常處理的思路

在java中,對于異常的處理一般有兩種方式:

  • 一種在當前方法捕獲處理(try-catch),這種處理方式會造成業(yè)務(wù)代碼和異常處理代碼的耦合。
  • 另一種是自己不處理,而是拋給調(diào)用者處理(throws),調(diào)用者在拋給它的調(diào)用者,也就是往上拋。這種方法的基礎(chǔ)上,衍生除了SpringMVC的異常處理機制。

系統(tǒng)的dao、service、controller出現(xiàn)都通過throws Exception向上拋出,最后由springmvc前端控制器交由異常處理器進行異常處理,如下圖:

image-20220312170306527

2. 自定義異常處理器

步驟分析:

1.創(chuàng)建異常處理器類實現(xiàn)handlerExceptionResolver

2.配置異常處理器

3.編寫異常頁面

4.測試異常跳轉(zhuǎn)

(1)創(chuàng)建異常處理器類實現(xiàn)handlerExceptionResolver

public class GlobalExeceptionResovler implements HandlerExceptionResolver {
    /**
     *
     * @param httpServletRequest
     * @param httpServletResponse
     * @param o:對應(yīng)的處理器
     * @param e;實際拋出的異常對象
     * @return
     */
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        ModelAndView model = new ModelAndView();
        //具體的異常處理 產(chǎn)生異常后,跳轉(zhuǎn)到一個最終的異常頁面
        model.addObject("error",e.getMessage());//得到錯誤信息
        model.setViewName("error");
        return model;
    }
}

(2)在Spring的配置文件配置異常處理器

<!--    定義錯誤異常頁面-->
    <bean id="globalExecptionResovler" class="com.weihong.excption.GlobalExeceptionResovler"/>
    

(3)編寫異常頁面

<html>
<head>
    <title>Title</title>
</head>
<body>
  <h2>這是一個錯誤頁面</h2>
  <h5>錯誤信息為:${error}</h5>
</body>
</html>

(4)測試異常跳轉(zhuǎn)

    @RequestMapping("/jumpErrorPage")
    public String jumpErrorPage(){
        int res = 10 / 0;
        return "success";
    }

(5)測試結(jié)果

image-20220312170744238

3. web的處理異常機制

  • 當請求狀態(tài)為404或者500,指定頁面跳轉(zhuǎn)。
  • 在其web.xml配置如下:
<!--處理500異常-->
<error-page>
  <error-code>500</error-code>
  <location>/500.jsp</location>
</error-page>
<!--處理404異常-->
<error-page>
  <error-code>404</error-code>
  <location>/404.jsp</location>
</error-page>

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • SpringBoot集成FastDFS依賴實現(xiàn)文件上傳的示例

    SpringBoot集成FastDFS依賴實現(xiàn)文件上傳的示例

    這篇文章主要介紹了SpringBoot集成FastDFS依賴實現(xiàn)文件上傳,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Java通過反射訪問注解信息的方法示例

    Java通過反射訪問注解信息的方法示例

    這篇文章主要介紹了Java通過反射訪問注解信息的方法,結(jié)合實例形式分析了java基于反射訪問類成員方法注解信息的相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Java中stream處理中map與flatMap的比較和使用案例

    Java中stream處理中map與flatMap的比較和使用案例

    這篇文章主要介紹了Java中stream處理中map與flatMap的比較和使用案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 解決springboot項目啟動報錯Error creating bean with name dataSourceScriptDatabaseInitializer問題

    解決springboot項目啟動報錯Error creating bean with&nb

    這篇文章主要介紹了解決springboot項目啟動報錯Error creating bean with name dataSourceScriptDatabaseInitializer問題,具有很好的參考價值,希望對大家有所幫助
    2024-03-03
  • RabbitMQ 如何解決消息冪等性的問題

    RabbitMQ 如何解決消息冪等性的問題

    這篇文章主要介紹了RabbitMQ 如何解決消息冪等性的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot中Druid連接池與多數(shù)據(jù)源切換的方法

    SpringBoot中Druid連接池與多數(shù)據(jù)源切換的方法

    微服務(wù)架構(gòu)中多數(shù)據(jù)源切換是個常見的需求,Spring Boot 提供了強大的支持來簡化這一過程.本文給大家介紹了SpringBoot中Druid連接池與多數(shù)據(jù)源切換的方法,需要的朋友可以參考下
    2024-11-11
  • Java使用正則表達式(regex)匹配中文實例代碼

    Java使用正則表達式(regex)匹配中文實例代碼

    本文給大家分享java使用正則表達式匹配中文的實例代碼,以及java中要匹配中文的正則表達式兩種寫法,感興趣的朋友通過本文一起看看吧
    2016-12-12
  • SpringBoot實現(xiàn)公共字段自動填充的方法步驟

    SpringBoot實現(xiàn)公共字段自動填充的方法步驟

    這篇文章主要介紹了SpringBoot實現(xiàn)公共字段自動填充的方法步驟,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-11-11
  • Springboot初始化啟動報錯Error?creating?bean?with?name?'dataSource'?defined?in?class?path?resource

    Springboot初始化啟動報錯Error?creating?bean?with?name?'da

    這篇文章主要為大家介紹了Springboot初始化啟動報Error?creating?bean?with?name?'dataSource'?defined?in?class?path?resource解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Spring事件監(jiān)聽基本原理與使用詳解

    Spring事件監(jiān)聽基本原理與使用詳解

    這篇文章主要介紹了Spring事件監(jiān)聽基本原理與使用詳解,Spring的事件監(jiān)聽機制和發(fā)布訂閱機制是很相似的:發(fā)布了一個事件后,監(jiān)聽該類型事件的所有監(jiān)聽器會觸發(fā)相應(yīng)的處理邏輯,需要的朋友可以參考下
    2024-01-01

最新評論

崇阳县| 克拉玛依市| 浦县| 武胜县| 牡丹江市| 阿拉善右旗| 镇雄县| 新泰市| 阿拉善右旗| 岗巴县| 曲阜市| 武胜县| 化隆| 扎囊县| 鸡西市| 白沙| 元氏县| 山西省| 长葛市| 义乌市| 富源县| 图们市| 浠水县| 灌南县| 积石山| 灵川县| 中方县| 河曲县| 志丹县| 华安县| 印江| 潞西市| 永康市| 漾濞| 都昌县| 延庆县| 永定县| 嘉峪关市| 仁布县| SHOW| 民县|