1. 程式人生 > >全局異常處理

全局異常處理

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); @Override
public 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>

全局異常處理