zoukankan      html  css  js  c++  java
  • spring boot统一异常页面

    只需要创建一个类就可以了

    package com.ulic.gis.securityManage.controller;
    
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.web.servlet.error.ErrorAttributes;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.context.request.ServletWebRequest;
    import org.springframework.web.servlet.ModelAndView;
    
    @ControllerAdvice
    public class GlobalExceptionHandler {
        private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
        @Autowired
        private ErrorAttributes errorAttributes;
        /**
         * 出现异常之后会跳转到此方法
         * @param request
         * @param e
         * @return
         */
        @ExceptionHandler(Exception.class) 
        public ModelAndView defaultErrorHandler(HttpServletRequest request, Exception e) {
            ModelAndView mav = new ModelAndView("/exception/blank"); 
            Map<String, Object> map = getErrorAttributes(request, false);
            log.info("错误码status:{}",map.get("status"));
            //log.info("失败的请求:{}",map.get("URL"));
            mav.addObject("message","请求失败,存在异常数据");
            return mav;
        }
         
        private Map<String, Object> getErrorAttributes(HttpServletRequest request,
                boolean includeStackTrace) {
    
            ServletWebRequest servletWebRequest = new ServletWebRequest(request);
            Map<String, Object> map = this.errorAttributes.getErrorAttributes(servletWebRequest,includeStackTrace);
            String URL = request.getRequestURL().toString();
            map.put("URL", URL); 
            return  map;
        }
    }
  • 相关阅读:
    偶然看到3年前为企业内刊写的文章——像经营自己的事业一样经营工作
    Migration 时需要留意到几个问题
    Law of Seed
    时刻准备着
    一种trace APP Engine的方法
    强烈建议博客园增加Oracle ERP或者叫PeopleSoft模块
    回味四年前的自己——细节的魅力
    一封寫給兒子的信
    职场回顾:面试精华试题大全[转]
    快速放松的11种简单方法
  • 原文地址:https://www.cnblogs.com/yinyl/p/10830131.html
Copyright © 2011-2022 走看看