码迷,mamicode.com
首页 > 其他好文 > 详细

全局异常处理

时间:2018-03-29 14:42:50      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:port   vax   lan   日志   package   oba   over   nbsp   override   

一、简介  

  为了将异常处理代码和业务代码分离,需要配置一个全局异常处理处理器,全局异常处理器整个系统只能有一个,使用方法:需要实现一个接口 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>

 

全局异常处理

标签:port   vax   lan   日志   package   oba   over   nbsp   override   

原文地址:https://www.cnblogs.com/fangwu/p/8669196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!