@ControllerAdvicepublic class GlobalExceptionHandler(){ @ExceptionHandler(value=Exception.class) @ResponseBody private MapexceptionHandler(HttpServletRequest req,Exception e) { Map modeMap = new HashMap (); modeMap.put("success",false); modeMap.put("errmsg",e.getMessage()); return modeMap; } }
1、页面跳转形式;2、ajax;3、统一返回异常的形式
异常处理web请求或ajax请求
@ControllerAdvicepublic class GlobalExceptionHandler(){ @ExceptionHandler(value=Exception.class) @ResponseBody private Object exceptionHandler(HttpServletRequest req,Exception e) { e.printStackTrace(); if(isAjax(req)){ return RestltBean();//返回异常结果类 }else{ ModeAndView mav = new ModeAndView(); mav.addObject("Exception",e); mav.addObject("url",req.getRequestURL()); mav.setViewName("error"); return mav; } } }
判断是否是ajax请求
public static Boolean isAjax(HttpServletRequest req){ return req.getHeader("X-Requested-With") != null && "XMLHttpRequest".equals(req.getHeader("X-Requested-With").toString());}