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

簡單了解SpringMVC全局異常處理常用方法

 更新時間:2020年09月23日 10:24:47   作者:柒  
這篇文章主要介紹了簡單了解SpringMVC全局異常處理常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

項目中,可能會拋出多個異常,我們不可以直接將異常的堆棧信息展示給用戶,有兩個原因:

  • 用戶體驗不好
  • 非常不安全

所以,針對異常,我們可以自定義異常處理,SpringMVC 中,針對全局異常也提供了相應(yīng)的解決方案,主要是通過 @ControllerAdvice 和@ExceptionHandler 兩個注解來處理的。

以上傳大小超出限制為例,自定義異常,只需要提供一個異常處理類即可:

@ControllerAdvice//表示這是一個增強(qiáng)版的 Controller,主要用來做全局?jǐn)?shù)據(jù)處理
public class MyException {
  @ExceptionHandler(Exception.class)
  public ModelAndView fileuploadException(Exception e) {
    ModelAndView error = new ModelAndView("error");
    error.addObject("error", e.getMessage());
    return error;
  }
}

在這里:

  • @ControllerAdvice 表示這是一個增強(qiáng)版的 Controller,主要用來做全局?jǐn)?shù)據(jù)處理
  • @ExceptionHandler 表示這是一個異常處理方法,這個注解的參數(shù),表示需要攔截的異常,參數(shù)為 Exception 表示攔截所有異常,這里也可以具體到某一個異常,如果具體到某一個異常,那么發(fā)生了其他異常則不會被攔截到。
  • 異常方法的定義,和 Controller 中方法的定義一樣,可以返回 ModelAndview,也可以返回 String 或者 void

例如如下代碼,指揮攔截文件上傳異常,其他異常和它沒關(guān)系,不會進(jìn)入到自定義異常處理的方法中來。

@ControllerAdvice//表示這是一個增強(qiáng)版的 Controller,主要用來做全局?jǐn)?shù)據(jù)處理
public class MyException {
  @ExceptionHandler(MaxUploadSizeExceededException.class)
  public ModelAndView fileuploadException(MaxUploadSizeExceededException e) {
    ModelAndView error = new ModelAndView("error");
    error.addObject("error", e.getMessage());
    return error;
  }
}

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

相關(guān)文章

  • java實現(xiàn)excel導(dǎo)出合并單元格的步驟詳解

    java實現(xiàn)excel導(dǎo)出合并單元格的步驟詳解

    這篇文章主要介紹了java實現(xiàn)excel導(dǎo)出合并單元格,通過使用Apache POI庫,我們可以方便地創(chuàng)建Excel文件、填充數(shù)據(jù)、合并單元格和導(dǎo)出Excel文件,需要的朋友可以參考下
    2023-04-04
  • Java?File類的概述及常用方法使用詳解

    Java?File類的概述及常用方法使用詳解

    Java?File類的功能非常強(qiáng)大,下面這篇文章主要給大家介紹了關(guān)于Java中File類的概述及常用方法使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • java json與map互相轉(zhuǎn)換的示例

    java json與map互相轉(zhuǎn)換的示例

    這篇文章主要介紹了java json與map互相轉(zhuǎn)換的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • 詳解Java反射各種應(yīng)用

    詳解Java反射各種應(yīng)用

    Java除了給我們提供在編譯期得到類的各種信息之外,還通過反射讓我們可以在運(yùn)行期間得到類的各種信息。通過反射獲取類的信息,得到類的信息之后,就可以獲取很多相關(guān)內(nèi)容。下面跟著小編一起來看下吧
    2017-01-01
  • IDEA切換JDK版本超詳細(xì)操作步驟記錄

    IDEA切換JDK版本超詳細(xì)操作步驟記錄

    在我們項目開發(fā)的過程中可能會遇到JDK版本過高或者過低導(dǎo)致一些程序無法啟動,不兼容的問題,所以我們需要切換JDK的版本號,這篇文章主要給大家介紹了關(guān)于IDEA切換JDK版本的超詳細(xì)操作步驟,需要的朋友可以參考下
    2024-03-03
  • Springboot中RedisTemplate設(shè)置String、Hash、List過期時間

    Springboot中RedisTemplate設(shè)置String、Hash、List過期時間

    本文主要介紹了Springboot中RedisTemplate設(shè)置String、Hash、List過期時間,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • SpringBoot中的條件裝配方法

    SpringBoot中的條件裝配方法

    在實際的項目開發(fā)中,我們往往需要根據(jù)不同的環(huán)境做出不同的配置,例如:在開發(fā)環(huán)境下,我們會使用內(nèi)存數(shù)據(jù)庫以便快速啟動服務(wù)并進(jìn)行開發(fā)調(diào)試,在test環(huán)境、生產(chǎn)環(huán)境,會使用對應(yīng)環(huán)境的數(shù)據(jù)庫,這篇文章主要介紹了SpringBoot中的條件裝配方法,需要的朋友可以參考下
    2024-08-08
  • Spring中的@PropertySource注解源碼詳細(xì)解析

    Spring中的@PropertySource注解源碼詳細(xì)解析

    這篇文章主要介紹了Spring中的@PropertySource注解源碼詳細(xì)解析,@PropertySource注解,標(biāo)注在配置類@Configuration上面,下面主要分析一下@PropertySource注解的處理過程,也就是怎么把配置信息從.properies文件放到environment中的,需要的朋友可以參考下
    2024-01-01
  • SpringBoot中@ComponentScan的使用詳解

    SpringBoot中@ComponentScan的使用詳解

    這篇文章主要介紹了SpringBoot中@ComponentScan的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Javacsv實現(xiàn)Java讀寫csv文件

    Javacsv實現(xiàn)Java讀寫csv文件

    這篇文章主要為大家詳細(xì)介紹了Javacsv實現(xiàn)Java讀寫csv文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論

航空| 宿州市| 东至县| 玉屏| 会泽县| 江口县| 黄龙县| 金秀| 黄龙县| 柳江县| 玛多县| 海伦市| 牟定县| 崇信县| 新宁县| 隆安县| 察隅县| 柳林县| 多伦县| 佳木斯市| 科技| 通州市| 额尔古纳市| 安庆市| 莲花县| 周宁县| 广安市| 建瓯市| 中阳县| 隆子县| 茶陵县| 梨树县| 凤庆县| 普格县| 义乌市| 保亭| 沾化县| 巢湖市| 通渭县| 九江县| 那曲县|