zoukankan      html  css  js  c++  java
  • Spring MVC异常统一处理

    package com.shzq.common.exception;

    import java.io.PrintWriter;
    import java.io.StringWriter;
    import java.util.HashMap;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;

    import com.alibaba.fastjson.JSONObject;
    import com.shzq.common.utils.ResultUtils;


    /**
    *Exception 捕获类 把相关Exception写入到日志文件中
    * */
    public class ExceptionHandler extends SimpleMappingExceptionResolver {

    private static final Logger logger = LoggerFactory.getLogger(ExceptionHandler.class);

    protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {

    try {
    HashMap<String, Object> resultMap = ResultUtils.error("404", "系统异常,请联系相关人员!");
    JSONObject resultObj = new JSONObject(resultMap);

    response.setContentType("text/json; charset=utf-8");
    response.getWriter().write(resultObj.toJSONString());
    //将异常栈信息记录到日志中
    logger.error(getTrace(ex));
    response.getWriter().flush();
    } catch ( Exception e ) {

    e.printStackTrace();
    }

    return null;

    }

    public static String getTrace(Throwable t) {
    StringWriter stringWriter = new StringWriter();
    PrintWriter writer = new PrintWriter(stringWriter);
    t.printStackTrace(writer);
    StringBuffer buffer= stringWriter.getBuffer();
    return buffer.toString();
    }
    }

     <bean id="exceptionHandler" class="com.shzq.common.exception.ExceptionHandler"/>  applicationcontext.xml配置 或者是@Component

    springmvc 最主要的 是实现 HandlerExceptionResolver 接口

  • 相关阅读:
    xcode 工具栏中放大镜的替换的说明
    xcode 工具栏中放大镜的替换的简单说明
    xcode 资源管理
    泛型的冒泡,插入,选择,希尔算法
    一套手写ajax加一般处理程序的增删查改
    Android自定义控件_自绘控件
    查看自己Android设备分辨率
    Collection集合 和 Map
    深入理解Java中的面向对象
    webserivce请求头组装
  • 原文地址:https://www.cnblogs.com/zxf330301/p/6554798.html
Copyright © 2011-2022 走看看