• 全局异常处理


    一、简介  

      为了将异常处理代码和业务代码分离,需要配置一个全局异常处理处理器,全局异常处理器整个系统只能有一个,使用方法:需要实现一个接口 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>
  • 相关阅读:
    LintCode-174.删除链表中倒数第n个节点
    LintCode-165.合并两个排序链表
    LintCode-371.用递归打印数字
    LintCode-140.快速幂
    LintCode-373.奇偶分割数组
    NOI 2015 品酒大会 (后缀数组+并查集)
    NOI 2016 优秀的拆分 (后缀数组+差分)
    POJ 2774 Long Long Message (后缀数组+二分)
    BZOJ 1717 [USACO06DEC] Milk Patterns (后缀数组+二分)
    POJ 1743 [USACO5.1] Musical Theme (后缀数组+二分)
  • 原文地址:https://www.cnblogs.com/fangwu/p/8669196.html
Copyright © 2020-2023  润新知