国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Spring Boot中使用AOP統一處理web層異常的方法

Spring Boot中使用AOP統一處理web層異常的方法

2021-04-10 12:57盲目的拾荒者 JAVA教程

這篇文章主要介紹了Spring Boot中使用AOP統一處理web層異常的相關資料,需要的朋友可以參考下

在springboot錯誤默認是跳轉到 請求返回渲染路徑中的error/錯誤頁面中。

源碼分析:DefaultErrorViewResolver.java

?
1
2
3
4
5
6
7
8
9
private ModelAndView resolve(String viewName, Map<String, Object> model) {
String errorViewName = "error/" + viewName;
TemplateAvailabilityProvider provider = this.templateAvailabilityProviders
 .getProvider(errorViewName, this.applicationContext);
if (provider != null) {
 return new ModelAndView(errorViewName, model);
}
return resolveResource(errorViewName, model);
}

比如在application.properites中配置渲染頁面為

?
1
2
#配置freemaker
spring.freemarker.template-loader-path=/WEB-INF/

如果不配置spring.freemarker.template-loader-path,springboot會在src/main/resources中的templates中的error文件下下找錯誤渲染的頁面。

那么當出現錯誤時,系統會跳轉到/WEB-INF/error/錯誤頁面中。

Spring Boot中使用AOP統一處理web層異常的方法

使用AOP進行web層異常處理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.niugang.aop;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;
/**
 * controller層統一異常處理
 *
 * @author niugang
 *
 */
@Aspect
@Component
public class ExceptionControllerAscept {
 private Logger logger = LoggerFactory.getLogger(ExceptionControllerAscept.class);
 /**
 * 匿名切點的方式
 *
 * @param ex
 * @throws ServletException
 * @throws IOException
 */
 @AfterThrowing(value = "execution(public * com.niugang.controller..*.*(..))", throwing = "ex")
    public ModelAndView aroundAdvice(Exception ex) throws ServletException, IOException {
 ModelAndView modelAndView = new ModelAndView();
 RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
 ServletRequestAttributes r = (ServletRequestAttributes) requestAttributes;
 HttpServletRequest request = r.getRequest();
 modelAndView.setViewName("500");
 // 第一如果是 RuntimeException
 if (ex instanceof RuntimeException) {
  logger.error("拋出運行時異常{}", ex.getMessage());
  modelAndView.addObject("exception", ex.getMessage());
  // 跳轉到錯誤頁面
  modelAndView.addObject("url", request.getRequestURL());
  return modelAndView;
 }
 modelAndView.addObject("exception","未知異常");
 return modelAndView;
 }
}

總結

以上所述是小編給大家介紹的Spring Boot中使用AOP統一處理web層異常,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/niugang0920/article/details/79450901

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区在线观看视频 | 免费观看黄色12片一级视频 | 午夜在线| 精品久久久久久国产 | 精品国产乱码久久久久久影片 | 国产成人免费在线 | 欧美精品成人一区二区三区四区 | 中文字幕免费观看 | 精品一区二区三区免费视频 | 欧美日韩在线看 | 久久精品伊人 | 国产精品久久久久久久久久久久久久久久 | 黄色国产网站 | 精品国产一区二区在线 | 99这里只有精品 | 成人高清在线 | 午夜视频免费 | 黄色在线免费观看 | 国产精品欧美久久久久久 | 国产91久久久 | 欧美一区二区三区在线观看视频 | 国产女爽爽视频精品免费 | 中文字幕亚洲精品 | 中文字幕在线视频观看 | 国产精品色一区二区三区 | 永久91嫩草亚洲精品人人 | 日韩欧美在线观看 | 宅男lu666噜噜噜在线观看 | 国产成人网 | 国产特黄一级 | 日韩在线免费电影 | av色综合 | 日韩精品一区二区三区在线观看 | 综合网视频 | 精品国产污网站污在线观看15 | 亚洲免费美女视频 | 2020国产在线 | 91大神xh98hx在线播放 | 国产综合精品一区二区三区 | 欧美一区国产一区 | 亚洲高清视频在线观看 |