欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

@ControllerAdvice//表示這是一個增強版的 Controller,主要用來做全局數(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論