zoukankan      html  css  js  c++  java
  • 全局异常处理

    一、简介  

      为了将异常处理代码和业务代码分离,需要配置一个全局异常处理处理器,全局异常处理器整个系统只能有一个,使用方法:需要实现一个接口 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>
  • 相关阅读:
    Java 必看的 Spring 知识汇总
    java与C#的基础语法区别--持续更新
    MQTT协议-MQTT协议解析(MQTT数据包结构)
    MQTT协议-MQTT协议简介及协议原理
    RabbitMQ与AMQP
    JMS、AMQP和MQTT主要特性
    socket 极值数量
    redis.conf详细说明
    Redis 模糊匹配 SearchKeys
    Parallel
  • 原文地址:https://www.cnblogs.com/fangwu/p/8669196.html
Copyright © 2011-2022 走看看