全局異常處理
阿新 • • 發佈:2018-03-29
jar set 方法 prop 復制 mes AC sage mod
一、簡介
為了將異常處理代碼和業務代碼分離,需要配置一個全局異常處理處理器,全局異常處理器整個系統只能有一個,使用方法:需要實現一個接口 HandlerExceptionResolver、需要在 springmvc 中配置
二、準備環境
log4j.properties 屬性文件下載。將這個文件復制到 src/main/resources 資源目錄下
鏈接:https://pan.baidu.com/s/15rUL8CKYMmN6EfxxJ7672A 密碼:dzxi
slf4j.jar 包下載
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.4</version> </dependency>
三、代碼
package com.fw.exception; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; public class GlobalExceptionResolver implements HandlerExceptionResolver { private static Logger logger = LoggerFactory.getLogger(GlobalExceptionResolver.class); @Overridepublic ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { //打印控制臺 ex.printStackTrace(); //寫日誌 logger.error("系統發生異常",ex); //發郵件、發短信 //展示錯誤頁面 ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "系統發生異常,請稍後重試"); modelAndView.setViewName("error/exception"); return modelAndView; } }
四、springmvc 中配置異常處理器
<!-- 全局異常處理器 --> <bean class="com.fw.exception.GlobalExceptionResolver"></bean>
全局異常處理