精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringMVC異常處理句柄這些細節,你知道嗎?

開發 前端
SpringMVC異常處理的基本使用,通過@ExceptionHandler注解標注方法,在上面的方法中都接受的是異常類,那這方法可以接收什么樣的參數及返回值呢?

回顧

@Controller和@ControllerAdvice類可以使用@ExceptionHandler注解標注方法來處理控制器方法的異常,如下例所示:

局部異常處理

@Controller
public class SimpleController {

// ...
// 只能處理當前SimpleController中發生的異常
@ExceptionHandler
public ResponseEntity<String> handle(Exception ex) {
// ...
}

}

全局異常處理

@RestControllerAdvice
public class TestControllerAdvice {

// 全局異常處理
@ExceptionHandler
public Object handle(Exception e) {
return "我是全局異常: " + e.getMessage() ;
}

}

指定能處理的異常類型

@ExceptionHandler({FileSystemException.class, RemoteException.class})
public ResponseEntity<String> handle(Exception ex) {
// ...
}

在@ExceptionHandler中指明能夠處理的異常類。

以上是回顧了SpringMVC異常處理的基本使用,通過@ExceptionHandler注解標注方法,在上面的方法中都接受的是異常類,那這方法可以接收什么樣的參數及返回值呢?

異常句柄參數

@ExceptionHandler方法支持以下參數:

方法參數

描述

Exception type

用于訪問引發的異常。

HandlerMethod

用于訪問引發異常的控制器方法。

WebRequest, NativeWebRequest

對請求參數、請求和會話屬性的通用訪問,而不直接使用 Servlet API。

javax.servlet.ServletRequest, javax.servlet.ServletResponse

選擇任何特定的請求或響應類型(例如,ServletRequest或HttpServletRequest或Spring的MultipartRequest或MultipartHttpServletRequest)。

javax.servlet.http.HttpSession

強制會話的存在。因此,這樣的參數永遠不會為空。注意,會話訪問不是線程安全的。如果允許多個請求并發訪問一個會話,可以考慮將RequestMappingHandlerAdapter實例的synchronizeOnSession標志設置為true。

java.security.Principal

當前已驗證的用戶-如果已知,可能是特定的Principal實現類。

HttpMethod

請求的HTTP方法。

java.util.Locale

當前請求區域設置,由可用的最特定的LocaleResolver確定——實際上是配置的LocaleResolver或LocaleContextResolver。

java.util.TimeZone, java.time.ZoneId

與當前請求關聯的時區,由LocaleContextResolver確定。

java.io.OutputStream, java.io.Writer

用于訪問由Servlet API公開的原始響應體。

java.util.Map, org.springframework.ui.Model, org.springframework.ui.ModelMap

用于訪問錯誤響應的模型。總是空的。

RedirectAttributes

指定在重定向情況下使用的屬性-(將被追加到查詢字符串中)和臨時存儲的flash屬性,直到重定向后的請求。請參見重定向屬性和Flash屬性。

@SessionAttribute

對于任何會話屬性的訪問,與作為類級@SessionAttributes聲明的結果存儲在會話中的模型屬性相反。更多細節請參見@SessionAttribute。

@RequestAttribute

用于訪問請求屬性。詳見@RequestAttribute。

異常句柄返回值

@ExceptionHandler方法支持以下返回值:

返回值

描述

@ResponseBody

返回值通過HttpMessageConverter實例轉換并寫入響應??吹紷ResponseBody。

HttpEntity<B>, ResponseEntity<B>

返回值指定通過HttpMessageConverter實例轉換完整響應(包括HTTP報頭和正文)并將其寫入響應??吹絉esponseEntity。

String

要用ViewResolver實現解析的視圖名稱,并與隱式模型一起使用——通過命令對象和@ModelAttribute方法確定。處理程序方法還可以通過聲明model參數(前面描述過)以編程方式豐富模型。

View

一個用于呈現隱式模型的View實例——通過命令對象和@ModelAttribute方法確定。處理程序方法還可以通過聲明model參數(前面描述過)以編程方式豐富模型。

java.util.Map, org.springframework.ui.Model

屬性被添加到隱式模型中,視圖名通過RequestToViewNameTranslator隱式確定。

@ModelAttribute

添加到模型中的屬性,通過RequestToViewNameTranslator隱式確定視圖名。

注意@ModelAttribute是可選的。請參閱該表末尾的“任何其他返回值”。

ModelAndView object

要使用的視圖和模型屬性以及(可選的)響應狀態。

void

具有void返回類型(或空返回值)的方法,如果它還具有ServletResponse、OutputStream參數或@ResponseStatus注釋,則認為它已經完全處理了響應。如果控制器已經做了一個正的ETag或lastModified時間戳檢查(詳情請參閱Controllers),同樣也是正確的。

如果以上都不為真,void返回類型也可以表示REST控制器的“無響應體”或HTML控制器的默認視圖名稱選擇。

Any other return value

如果返回值與上述任何一個都不匹配,并且不是簡單類型(由BeanUtils#isSimpleProperty決定),默認情況下,它將被視為要添加到模型中的模型屬性。如果是簡單類型,則仍未解決。

REST API異常

REST服務的一個常見需求是在響應體中包含錯誤詳細信息。Spring框架不會自動執行此操作,因為響應體中的錯誤細節表示是特定于應用程序的。但是,@RestController可以使用帶有ResponseEntity返回值的@ExceptionHandler方法來設置響應的狀態和主體。這樣的方法也可以在@ControllerAdvice類中聲明,以便全局應用它們。

在響應體中使用錯誤細節實現全局異常處理的應用程序應該考慮擴展ResponseEntityExceptionHandler,它為Spring MVC引發的異常提供處理,并提供自定義響應體的鉤子。要使用它,可以創建ResponseEntityExceptionHandler的子類,用@ControllerAdvice注釋它,重寫必要的方法,并將其聲明為Spring bean,如下:

@RestControllerAdvice
static class CustomResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {

@Override
protected ResponseEntity<Object> handleExceptionInternal(Exception ex, Object body, HttpHeaders headers,HttpStatus status, WebRequest request) {
System.out.println(">>>>>>>>>>> - body - " + body) ;
System.out.println(">>>>>>>>>>> - headers - " + headers) ;
System.out.println(">>>>>>>>>>> - status - " + status) ;
return new ResponseEntity<>(ex.getMessage(), headers, status) ;
}

}

ResponseEntityExceptionHandler類中內置了很多類型的異常處理

public abstract class ResponseEntityExceptionHandler {
@ExceptionHandler({
HttpRequestMethodNotSupportedException.class,
HttpMediaTypeNotSupportedException.class,
HttpMediaTypeNotAcceptableException.class,
MissingPathVariableException.class,
MissingServletRequestParameterException.class,
ServletRequestBindingException.class,
ConversionNotSupportedException.class,
TypeMismatchException.class,
HttpMessageNotReadableException.class,
HttpMessageNotWritableException.class,
MethodArgumentNotValidException.class,
MissingServletRequestPartException.class,
BindException.class,
NoHandlerFoundException.class,
AsyncRequestTimeoutException.class
})
@Nullable
public final ResponseEntity<Object> handleException(Exception ex, WebRequest request) throws Exception {
HttpHeaders headers = new HttpHeaders();

if (ex instanceof HttpRequestMethodNotSupportedException) {
HttpStatus status = HttpStatus.METHOD_NOT_ALLOWED;
return handleHttpRequestMethodNotSupported((HttpRequestMethodNotSupportedException) ex, headers, status, request);
}
else if (ex instanceof HttpMediaTypeNotSupportedException) {
HttpStatus status = HttpStatus.UNSUPPORTED_MEDIA_TYPE;
return handleHttpMediaTypeNotSupported((HttpMediaTypeNotSupportedException) ex, headers, status, request);
}
// ...
else {
throw ex;
}
}
}
責任編輯:武曉燕 來源: 實戰案例錦集
相關推薦

2020-10-28 11:20:55

vue項目技

2015-06-29 09:06:51

2020-12-24 15:26:07

Redis數據庫

2020-11-18 07:52:08

2023-01-28 09:38:48

接口SpringMVC

2015-07-03 11:20:41

編程學習方法

2024-02-26 08:19:00

WebSpring容器

2016-01-11 09:48:07

2021-08-05 18:21:29

Autowired代碼spring

2018-05-11 15:53:59

2024-08-09 11:07:46

緩存檢索filter

2016-03-18 19:03:35

認知計算IBM

2018-08-07 09:29:35

數據庫MySQL優化方法

2021-11-10 15:37:49

Go源碼指令

2022-11-10 09:00:41

2019-07-08 10:18:38

MPLSIP數據

2017-11-09 15:29:21

CPU溫度常識

2018-02-06 09:40:25

PythonOOP繼承

2018-03-07 06:37:14

開源項目源代碼云計算

2019-02-12 11:15:15

Spring設計模式Java
點贊
收藏

51CTO技術棧公眾號

殴美一级特黄aaaaaa| 成人免费毛片东京热| 99亚洲伊人久久精品影院| 中文字幕电影一区| 999国内精品视频在线| 日本熟妇毛耸耸xxxxxx| blacked蜜桃精品一区| 在线播放/欧美激情| 每日在线观看av| 激情视频在线观看免费| 国产一区二区精品久久99| 韩国一区二区电影| 国产精品视频在| 国产精品网站在线看| 欧美亚洲一区二区在线观看| 欧美这里只有精品| www.亚洲免费| www.一区二区| 成人免费网视频| 六月丁香激情综合| 欧美日本不卡| 国产一区二区三区直播精品电影 | 久久se这里有精品| 91精品国产91久久久久久| 成年人视频软件| 丝袜久久网站| 精品国产免费人成在线观看| 国模私拍视频在线观看| 看黄在线观看| 亚洲午夜精品17c| 在线观看日韩羞羞视频| 男女网站在线观看| 成人18精品视频| 99re6在线| 亚洲一级黄色大片| 性色一区二区| 91爱爱小视频k| 激情综合网五月婷婷| 一区二区三区中文| yw.139尤物在线精品视频| 女人十八毛片嫩草av| 一本色道久久综合狠狠躁的番外| 精品少妇一区二区三区在线播放| 99国产精品久久久久久| 另类一区二区三区| 欧洲精品一区二区| www.com毛片| 韩日毛片在线观看| 亚洲制服丝袜av| 毛片在线视频观看| 中文字幕在线观看网站| 亚洲品质自拍视频网站| 成人免费看片视频在线观看| 国产网站在线免费观看| 中文字幕欧美一| 自拍偷拍一区二区三区| 在线观看的av| 国产精品你懂的在线| 亚洲国产精品一区二区第一页| 日本韩国精品一区二区| 91在线国产福利| 麻豆av一区| 免费成人av电影| 国产婷婷色一区二区三区四区| 欧美极品一区二区| 国产乱理伦片a级在线观看| 久久精品视频一区二区三区| 视频在线观看成人| 男人的天堂在线视频免费观看 | 亚洲精品一区二区三区精华液| 2025中文字幕| 欧美挤奶吃奶水xxxxx| 日韩精品中文在线观看| 亚洲а∨天堂久久精品2021| 成人精品视频| 久久成人av网站| 久久久久久福利| 亚洲国产激情| 国产精品久久久久99| 国产精品永久久久久久久久久| 国产传媒欧美日韩成人| 国产一区二区三区免费不卡| 久久经典视频| 亚洲欧洲av色图| 国产黄色片免费在线观看| 人在线成免费视频| 欧美日韩成人激情| 成人一区二区三区仙踪林| 中文字幕伦av一区二区邻居| www.亚洲一区| 亚洲国产综合久久| 日韩不卡免费视频| 俄罗斯精品一区二区| 你懂的视频在线| 亚洲少妇30p| 青青在线视频观看| 国产精品一区二区三区四区在线观看 | av免费观看在线| 99久久久免费精品国产一区二区| 日本一区视频在线观看| av网址在线免费观看| 亚洲不卡在线观看| 国产小视频精品| 日韩视频一区二区三区四区| 亚洲美女在线视频| 欧美激情图片小说| 日精品一区二区| 国产精品久久久对白| 成人av电影观看| 午夜日韩在线观看| 爱豆国产剧免费观看大全剧苏畅| 韩国精品福利一区二区三区| 久久精品中文字幕免费mv| 亚洲天堂av片| 成人黄色一级视频| 97超碰免费观看| 精品123区| 精品无码久久久久久国产| 欧美在线视频第一页| 老牛嫩草一区二区三区日本| 444亚洲人体| 国产h在线观看| 精品久久久久国产| 三大队在线观看| 97视频热人人精品免费| 日本成人激情视频| 色屁屁草草影院ccyycom| 日韩一区在线免费观看| 91香蕉视频导航| 伊人久久大香线蕉无限次| 欧美劲爆第一页| www日本在线| 一区二区三区在线影院| 亚洲xxx在线观看| 热久久天天拍国产| 国产成人鲁鲁免费视频a| 亚洲av片在线观看| 亚欧色一区w666天堂| 久久久国产精品久久久| 小说区亚洲自拍另类图片专区| 国产精品免费久久久| 国产专区在线播放| 欧美性猛交xxxx乱大交| 日韩网站在线播放| 国产精品久久国产愉拍| 久久大香伊蕉在人线观看热2| gratisvideos另类灌满| 精品sm在线观看| 日韩精品一区二区不卡| 成人avav影音| 北条麻妃在线观看| 亚洲精品国产setv| 国产成人精品一区| jizz在线观看中文| 欧美日韩一级二级三级| 91免费在线看片| 国产做a爰片久久毛片 | 欧美俄罗斯乱妇| 国产成人自拍偷拍| 欧美经典一区二区三区| 日日噜噜夜夜狠狠| 97精品视频| 91日本视频在线| 香蕉久久aⅴ一区二区三区| 日韩一区二区免费在线观看| 久久午夜无码鲁丝片午夜精品| 成人黄色小视频在线观看| 欧美视频在线观看网站| 日韩美脚连裤袜丝袜在线| 国产精品成人播放| 青青青青在线| 精品美女一区二区| 日日摸天天添天天添破| 国产精品女主播在线观看| 91网址在线观看精品| 激情久久久久久| 免费国产在线精品一区二区三区| 69堂免费精品视频在线播放| 久久不射热爱视频精品| 五月婷在线视频| 欧美性欧美巨大黑白大战| 2014亚洲天堂| 成人av在线资源| 国产小视频精品| 午夜欧美精品| 欧美极品一区二区| 国产电影一区二区| 96精品视频在线| 亚洲天天影视| 亚洲精品成a人在线观看| 在线观看免费视频a| 亚洲国产一区二区在线播放| 真实乱视频国产免费观看| 国产一区二区在线电影| 成人免费在线小视频| 久久久久久久久久久9不雅视频 | 欧美日韩一区二区综合| 国产日韩欧美在线观看| 美洲精品一卡2卡三卡4卡四卡| 亚洲欧美制服第一页| 精品国产乱码一区二区三| 日本久久一区二区三区| 久久综合色综合| 国产精品国产三级国产普通话蜜臀| 亚洲性图第一页| 久草中文综合在线| 日韩av片在线看| 狠狠干成人综合网| 亚洲欧美日韩在线综合| 亚洲另类春色校园小说| 99久久久精品免费观看国产| 成人开心激情| 97在线视频免费观看| av黄在线观看| 日韩有码在线播放| 涩涩视频在线观看免费| 欧美大肚乱孕交hd孕妇| 91尤物国产福利在线观看| 色狠狠综合天天综合综合| 久久国产在线观看| 国产精品久久久久aaaa| 男人天堂av电影| 91蜜桃传媒精品久久久一区二区| 亚洲视频在线不卡| 九九在线精品视频| 激情综合网俺也去| 久久精品动漫| 国精产品一区一区三区视频| 欧美日一区二区在线观看 | 懂色av粉嫩av蜜臀av一区二区三区| 91在线观看地址| 奇米777第四色| 国产超碰在线一区| 免费黄色在线播放| 国产精品主播直播| 91免费视频污| 国产一区二区三区在线看麻豆| 欧美wwwwwww| 免费看精品久久片| 色悠悠久久综合网| 日本在线播放一区二区三区| 日韩av片在线看| 久久一区精品| 日韩欧美黄色大片| 日本欧美久久久久免费播放网| 十八禁视频网站在线观看| 首页综合国产亚洲丝袜| 国产在线观看福利| 久久青草久久| 黄色aaa级片| 另类小说综合欧美亚洲| 欧美女同在线观看| 极品尤物av久久免费看| 手机在线视频一区| 国产精品一区久久久久| 人妻互换一二三区激情视频| 国产suv精品一区二区883| 色悠悠在线视频| av中文字幕不卡| 成人午夜福利一区二区| 国产亚洲视频系列| 人妻熟人中文字幕一区二区| 中文字幕在线观看一区二区| 国产黄色小视频网站| 夜夜精品视频一区二区 | 国产精品青青草| 久久精品国产亚洲blacked| 美女精品国产| 成人激情开心网| 国产精品av免费观看| 一区在线免费观看| 国产欧美高清在线| 美女一区二区三区在线观看| 国产又粗又猛又爽又黄| 成人sese在线| 欧美波霸videosex极品| 综合欧美亚洲日本| 日韩欧美三级在线观看| 91国偷自产一区二区开放时间| 亚洲永久精品视频| 精品国精品自拍自在线| 欧美色18zzzzxxxxx| www亚洲欧美| 9999精品成人免费毛片在线看 | 麻豆乱码国产一区二区三区| 国产精品电影| 成人a在线视频| 嫩草国产精品入口| 一本一生久久a久久精品综合蜜 | 欧美国产日本视频| 极品盗摄国产盗摄合集| 色综合久久天天| 国产高清免费av| 亚洲人成在线观看网站高清| www.欧美日本韩国| 日韩女优在线播放| 精品176极品一区| 国产在线精品日韩| 99久久夜色精品国产亚洲狼 | 欧美日韩福利视频| 国产伦子伦对白在线播放观看| 国产精品91在线| 日韩一级淫片| 亚洲精品一区二区三区蜜桃久| 女同性一区二区三区人了人一| 色综合av综合无码综合网站| 精品综合久久久久久8888| 欧美 日本 国产| 夜夜嗨av一区二区三区| 中文亚洲av片在线观看| 亚洲国产天堂久久综合网| 欧美成人二区| 国产v综合ⅴ日韩v欧美大片| 99re6热只有精品免费观看| 亚洲最大色综合成人av| 久久国产66| 男人女人拔萝卜视频| 中文字幕一区二区在线观看| 亚洲国产成人精品女人久久| 亚洲第一免费网站| а√天堂官网中文在线| 国产狼人综合免费视频| 精品国产视频| 久久人妻精品白浆国产 | 日韩欧美国产综合| 一区二区三区视频网站| 国产精品久久国产精品99gif| 国产一区二区三区不卡av| www国产无套内射com| 国产最新精品免费| 国产性生活大片| 欧美日韩一区在线| 高清毛片在线看| 国产精品6699| 你懂的一区二区三区| 中文字幕无码精品亚洲35| 风间由美性色一区二区三区| 好吊日在线视频| 欧美精品一二三四| 爱爱爱免费视频在线观看| 欧美大奶子在线| 日韩精品中文字幕吗一区二区| 在线视频一二三区| 国产综合久久久久久久久久久久| 任我爽在线视频| 欧美久久久久久蜜桃| 成人免费高清在线播放| 国产精品电影一区| 日本a口亚洲| 午夜xxxxx| 亚洲精品视频在线观看网站| 精品人妻一区二区三区浪潮在线 | 免费看污污视频| 国产精品白丝av| 久久久国产精华液| 精品国产欧美一区二区| a级大胆欧美人体大胆666| 国产一区二区三区黄| 亚洲尤物精选| 久久久视频6r| 欧美精品v国产精品v日韩精品 | 亚洲电影激情视频网站| 人妻无码中文字幕免费视频蜜桃| 98精品在线视频| 欧美日本成人| 欧美成人三级在线播放| 亚洲欧美日韩精品久久久久| www.色播.com| 91超碰caoporn97人人| 欧洲乱码伦视频免费| 亚洲av无日韩毛片久久| 一区二区三区加勒比av| 天堂在线中文资源| 国产精品入口尤物| 国产精品成人a在线观看| 久久久久亚洲AV成人网人人小说| 精品女厕一区二区三区| 粉嫩av在线播放| 亚洲伊人久久大香线蕉av| 99精品国产在热久久| 夫妇露脸对白88av| 欧美成人精精品一区二区频| 欧美gv在线观看| 自拍视频一区二区三区| 99九九99九九九视频精品| 亚洲视频久久久| 97视频在线观看免费| 日韩黄色大片| 日韩精品人妻中文字幕有码 | 成人综合久久网| 亚洲国产sm捆绑调教视频| 国产在线中文字幕| 2020国产精品久久精品不卡| 视频一区国产视频| 久草视频免费播放| 亚洲性xxxx| 国产伦乱精品| 一二三av在线| 91久久国产最好的精华液| 七七成人影院|