日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

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

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

結(jié)局方案:

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狀態(tài)

<!-- 注冊過濾器--><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錯誤狀態(tài)--><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');//創(chuàng)建一個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;}

結(jié)果:

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

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

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99视频精品免费观看| 国产亚洲精aa在线看| 国产乱码精品一区二区三区四区 | 成人片免费看| 国产精品99精品一区二区三区∴| 婷婷亚洲成人| 日韩精品1区2区3区| 中文字幕一区二区精品区| 丝袜脚交一区二区| 亚洲综合五月| 五月激激激综合网色播 | 日韩电影免费网站| 欧美香蕉视频| 久久一区二区三区喷水| 欧美亚洲国产一区| 99pao成人国产永久免费视频| 国产精品呻吟| 日韩中文欧美在线| 日本综合视频| 国产欧美一级| 精品免费av一区二区三区| 国产精品不卡| 91精品国产自产在线观看永久∴| 99久久精品国产亚洲精品| 欧美日韩在线网站| 鲁大师成人一区二区三区| 免费久久99精品国产| 日韩高清电影免费| 国内一区二区三区| av一区在线| 鲁大师成人一区二区三区| 日韩和欧美一区二区| 日韩二区三区四区| 久久精品二区亚洲w码 | 日产精品一区二区| 精品亚洲美女网站| 亚洲综合日韩| 国产三级一区| 日本免费一区二区三区四区| 在线一区视频| 国产日韩欧美在线播放不卡| 国产成人免费av一区二区午夜| 午夜影院一区| 亚洲一区二区网站| 国产日韩欧美一区在线| 久久毛片亚洲| 亚洲三级视频| 国产va免费精品观看精品视频| 亚洲网站视频| 日本99精品| 99久久久久国产精品| 日韩国产91| 成人台湾亚洲精品一区二区 | 日韩高清二区| 精品成人免费一区二区在线播放| 亚洲综合中文| 精品国模一区二区三区| 青草国产精品久久久久久| 国产一区调教| 久久xxxx| 美女久久久精品| 中文一区在线| 国产日韩精品视频一区二区三区| 欧美日韩精品免费观看视欧美高清免费大片 | 美女福利一区二区三区| av亚洲免费| 日韩精品亚洲专区在线观看| 国产精品久久久久77777丨| 国产免费av一区二区三区| 日韩欧美1区| 免费日韩av片| 日韩不卡一区二区| 精品国产午夜| 99日韩精品| 国产精品九九| 亚洲综合图色| 国产精选在线| 中文字幕中文字幕精品| 精品资源在线| 亚洲国产一区二区在线观看| 日韩国产在线一| 日韩免费视频| 亚洲ww精品| 日韩福利一区| 日本99精品| 麻豆国产欧美日韩综合精品二区| 成人污污视频| 日韩中文字幕1| 日韩av有码| 亚洲精品亚洲人成在线观看| 狠狠久久伊人中文字幕| 亚洲欧美日韩国产| 成人影视亚洲图片在线| 免费成人在线观看| 中文字幕在线高清| 日本va欧美va瓶| 99精品一区| 国产伦乱精品| 免播放器亚洲| 精品亚洲免a| 日韩成人在线看| 香蕉成人av| 国产日韩三级| 亚洲欧美不卡| 色老板在线视频一区二区| 青草av.久久免费一区| 婷婷成人综合| 国产亚洲精品美女久久| av不卡在线| 日韩在线二区| 国产一卡不卡| 免费在线观看不卡| 99久精品视频在线观看视频| 久久狠狠久久| 欧美影院精品| 男女激情视频一区| 国产精品久久久久久久久妇女| 日韩成人精品一区二区三区 | 日韩欧美中文在线观看| 久久久久国产精品一区三寸| 欧美一区=区三区| 亚洲综合三区| 九色porny丨国产首页在线| 国产伦理久久久久久妇女| 蜜桃伊人久久| 久久国产成人午夜av影院宅| 69堂精品视频在线播放| 亚洲激情二区| 精品三级久久| bbw在线视频| 久久不卡国产精品一区二区| 最新亚洲国产| 视频一区视频二区在线观看| 亚洲韩日在线| 久久亚洲国产| 中国字幕a在线看韩国电影| 伊人久久国产| 国产一区二区三区四区二区| 国产欧美一区二区三区国产幕精品| 久久亚洲欧洲| 9久re热视频在线精品| 久久久人人人| 日本蜜桃在线观看视频| 麻豆精品少妇| 国产日韩视频在线| 国产+成+人+亚洲欧洲在线| 久久成人av| 久久av影院| 日韩精品亚洲专区| 日韩一区二区三免费高清在线观看 | 国产91精品对白在线播放| 成人国产精品一区二区免费麻豆| 国产精品久久久久久模特 | 成人羞羞视频播放网站| 日韩一区电影| 91看片一区| 精品精品国产三级a∨在线| 荡女精品导航| 超碰99在线| se01亚洲视频| 中文字幕系列一区| 亚洲www啪成人一区二区| 久久久久九九精品影院| 美女久久久精品| 国产精品13p| 91精品精品| 99在线|亚洲一区二区| 国产精品毛片在线| 在线 亚洲欧美在线综合一区| 欧美精品一区二区久久| 久久中文字幕二区| 午夜精品免费| 一区二区三区四区在线观看国产日韩| 影音国产精品| 蜜臀va亚洲va欧美va天堂| 石原莉奈在线亚洲三区| 亚洲一区二区三区四区电影 | 国产黄色一区| 国产成人精品999在线观看| 久久青青视频| 在线日韩av| 日韩中文字幕麻豆| 精品国产三区在线| 肉色欧美久久久久久久免费看| av一区在线| 欧美在线网站| 日本不卡一区二区| 久久超碰99| 蜜桃av在线播放| 亚洲欧美日韩国产一区二区| 日韩在线电影| 免费看黄色91| 美女日韩在线中文字幕| 国产免费av国片精品草莓男男| 国产一区二区三区四区五区| 国产亚洲一区二区手机在线观看 | 日本va欧美va精品发布| 麻豆精品99| 国产不卡精品| 91久久中文|