成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Spring下Filter過濾器配置全局異常處理的詳細步驟

瀏覽:230日期:2023-07-28 16:32:39

Spring下Filter過濾器配置全局異常處理

Filter中出現的異常,spring的全局異常處理器是無法捕獲的,所以filter攔截器中出現的異常會直接的拋向瀏覽器,在瀏覽器中顯示500錯誤。 而我當前的項目中,是在Filter中判斷用戶是否有攜帶Token訪問,如果沒有,則拋出異常,讓其做登錄操作。而且異常信息要處理成json格式返回給前端。這就很尷尬了。

好了廢話說多了,上解決方案:

結局方案:

Filter攔截器中直接拋出異常信息

@Componentpublic class AdminAuthentiationFilter extends OncePerRequestFilter { private final String DEFAULTE_URI = '/api/admin/login'; @Override protected void doFilterInternal(HttpServletRequest req, HttpServletResponse resp, FilterChain filterChain) throws ServletException, IOException { String admin_token = req.getHeader('admin_token'); if(StrUtil.isBlank(admin_token) && !req.getRequestURI().equals(DEFAULTE_URI)){ //在攔截器中直接拋出一個異常 throw new LoginException('用戶未登錄,請先登錄!'); } filterChain.doFilter(req,resp); }}

第一步:在web.xml中配置錯誤頁,用于捕獲500狀態

<!-- 注冊過濾器--><filter> <filter-name>myFilter</filter-name> <filter-class>com.fenkuan.support.filters.AdminAuthentiationFilter</filter-class></filter><filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping><!--捕獲500錯誤狀態--><error-page> <error-code>500</error-code> <location>/500</location></error-page>

第二步:編寫一個FilterException自定義異常類

public class FilterException extends RuntimeException{private String data; public FilterException(String message) { super(message); } public FilterException(String message, String data) { super(message, data); this.data = data; } public String getData() { return data; }}

第三步:編寫一個用于處理500錯誤的controller

@RestControllerpublic class FilterErrorController { @RequestMapping('/500') public void filterError(HttpServletRequest req){ //獲取servlet請求中的異常屬性。該屬性下存儲了確切的錯誤信息。 Throwable t = (Throwable) req.getAttribute('javax.servlet.error.exception');//創建一個filterException拋出,該異常會被全局異常處理類捕獲,并處理。 throw new FilterException(t.getMessage()); }}

第四步:編寫一個捕獲全局異常的異常處理類

//全局異常處理類@RestControllerAdvicepublic class ControllerExceptionHandler{ @ExceptionHandler(FilterException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public BadException<?> filterException(FilterException e){ BadException<Object> objectBadException = handleExceptionObject(e); objectBadException.setStatus(HttpStatus.BAD_REQUEST.value()); objectBadException.setMessage(e.getMessage()); return objectBadException; } @ExceptionHandler(Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public BadException<?> responseException(Exception e){ //異常兜底處理 BadException<?> objectBadException = handleExceptionObject(e); objectBadException.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); objectBadException.setMessage(HttpStatus.INTERNAL_SERVER_ERROR.getReasonPhrase()); return objectBadException; }// Throwable是Exception的父類,所以可以使用該類型來接受項目中拋出的所有異常,包括Exception即其子類。 private <T> BadException<T> handleExceptionObject(Throwable throwable){ BadException<T> bad = new BadException<>(); bad.setMessage(throwable.getMessage()); return bad; }}

BadException類,用于封裝要返會給前端的異常信息(這里使用了Lombok工具)

import lombok.Data;@Datapublic class BadException<T> { private Integer status; private String message; private Object data; private Object devData;}

結果:

Spring下Filter過濾器配置全局異常處理的詳細步驟

到此這篇關于Spring下Filter過濾器配置全局異常處理的詳細步驟的文章就介紹到這了,更多相關Spring全局異常處理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
综合自拍亚洲综合图不卡区| 国产制服丝袜一区| 亚洲综合色噜噜狠狠| 狠狠色丁香婷婷综合| 亚洲国产高清一区二区三区| 欧美一区二区三区在线| 午夜av区久久| 亚洲日本精品国产第一区| 欧美成人一区二区三区在线观看| 亚洲第一成人在线| 一区久久精品| 久久九九影视网| 久久精品国产成人一区二区三区| 国产99久久久国产精品免费看| 久久激情久久| 亚洲裸体在线观看| 91免费在线看| 日韩一区二区精品| 日本aⅴ亚洲精品中文乱码| 极品av少妇一区二区| 精品国产伦理网| 国产在线播放一区三区四| 久热精品在线| 综合在线观看色| 91在线视频网址| 欧美本精品男人aⅴ天堂| 久久精品国产77777蜜臀| 噜噜噜噜噜久久久久久91 | 国产三级一区二区| 国产乱人伦偷精品视频免下载 | 91精品国产综合久久久蜜臀粉嫩| 婷婷中文字幕一区三区| 夜久久久久久| 亚洲五码中文字幕| 在线一区二区视频| 国产精品一区二区久久精品爱涩 | 国内激情久久| 亚洲精品成人在线| 色狠狠综合天天综合综合| 日本va欧美va欧美va精品| 91精选在线观看| 不卡的av中国片| 国产精品你懂的在线欣赏| 国产欧美日韩在线播放| 免费在线观看视频一区| 日韩女优制服丝袜电影| 欧美精品91| 亚洲一区免费观看| 欧美午夜影院一区| av亚洲产国偷v产偷v自拍| 国产精品久久久久aaaa| 裸体一区二区| 国产成人8x视频一区二区| 欧美激情一区二区三区不卡| 99精品免费| 久久精品国产99国产精品| 日韩精品中文字幕一区二区三区| 欧美私人啪啪vps| 偷拍一区二区三区| 日韩女优制服丝袜电影| 一区在线免费| 美女脱光内衣内裤视频久久影院| 制服视频三区第一页精品| 欧美日韩综合另类| 美女在线观看视频一区二区| 久久亚洲一级片| 免费在线观看成人av| 国产精品白丝av| 最新成人av在线| 欧洲日韩一区二区三区| 92国产精品观看| 亚洲一区二区三区四区的| 国产精品日韩一区二区| 亚洲图片有声小说| 日韩欧美亚洲国产另类| 亚洲视频www| 国产成人亚洲综合a∨猫咪| 最新国产成人在线观看| 欧美日韩国产欧美日美国产精品| 欧美色综合网| 极品美女销魂一区二区三区免费| 欧美国产一区在线| 在线精品视频一区二区| a在线播放不卡| 一区二区三区在线免费观看| 91精品国产入口| 亚洲国产欧美日韩| 国产白丝网站精品污在线入口| 亚洲女同一区二区| 91麻豆精品国产自产在线| 精品成人国产| 国产精品一区二区三区乱码| 亚洲日本乱码在线观看| 欧美精三区欧美精三区| 亚洲三级免费| 国产成人8x视频一区二区| 亚洲免费av网站| 日韩亚洲欧美一区二区三区| 国产日韩欧美一区二区| 国产成人av福利| 亚洲成人精品影院| 久久―日本道色综合久久| 亚洲欧美日韩一区在线观看| www.亚洲精品| 老司机免费视频一区二区| 综合激情网...| 精品国产一区二区精华| 日本高清不卡一区| 最新国产拍偷乱拍精品| 99视频精品在线| 老司机午夜精品| 亚洲综合激情小说| 国产午夜精品一区二区| 欧美日韩一级黄| 国产欧美精品| 97se狠狠狠综合亚洲狠狠| 久久成人综合网| 亚洲国产视频一区二区| 国产亚洲精品精华液| 7777精品伊人久久久大香线蕉最新版 | 国产在线视视频有精品| 一区二区三国产精华液| 国产欧美日韩麻豆91| 蜜桃av综合| 亚洲黄色一区| 欧美.日韩.国产.一区.二区| 国产一区二区在线观看视频| 夜夜精品浪潮av一区二区三区 | 久久成人av少妇免费| 亚洲精品中文字幕在线观看| 久久久亚洲国产美女国产盗摄| 欧美视频一区二区三区在线观看 | 精品区一区二区| 欧美在线观看视频一区二区 | 日韩精品一区二| 欧美色涩在线第一页| 国产精品综合色区在线观看| 欧美三级午夜理伦三级中文幕| 国产成人在线免费观看| 日韩vs国产vs欧美| 亚洲综合在线免费观看| 国产精品色婷婷久久58| 久久一二三区| 国精产品一区一区三区mba桃花 | 蜜臀91精品一区二区三区| 亚洲国产精品av| 日韩欧美一区二区免费| 欧美人与性动xxxx| 欧美中文字幕不卡| 久久综合亚州| 美女图片一区二区| 久久国产精品99国产| 中文日韩在线| 日韩午夜在线| 国产中文一区二区三区| 亚洲精品日韩久久| 69久久99精品久久久久婷婷| 亚洲色图20p| 日韩在线一区二区| 在线日韩欧美| 欧美吻胸吃奶大尺度电影| 欧美日本在线一区| 韩国欧美国产1区| 福利91精品一区二区三区| 韩国午夜理伦三级不卡影院| 日韩黄色免费电影| 午夜视频在线观看一区二区三区| 一区二区在线电影| 亚洲综合色区另类av| 亚洲高清免费观看高清完整版在线观看| 亚洲精品久久久蜜桃| 亚洲精品一二三四区| 亚洲嫩草精品久久| 亚洲激情自拍偷拍| 亚洲一区二区三区精品在线| 自拍偷拍欧美精品| 亚洲精品老司机| 亚洲大片精品永久免费| 日本aⅴ精品一区二区三区| 蜜臀va亚洲va欧美va天堂| 久久成人综合网| 国产精品自拍一区| 成人国产精品免费观看| 欧美jizzhd精品欧美喷水| 国产一区欧美| 国产日韩欧美在线播放不卡| 久久久精品五月天| 欧美午夜理伦三级在线观看| 91精品国产综合久久精品性色 | 欧美激情综合网| 国产精品欧美一级免费| 亚洲婷婷在线视频| 亚洲国产精品欧美一二99| 日韩成人精品在线观看| 国产在线精品一区二区不卡了| 懂色中文一区二区在线播放| 91视频xxxx| 99视频日韩| 色噜噜狠狠色综合中国| 91精品国产综合久久精品性色|