SpringMVC 异常统一处理接口 HandlerExceptionResolver
2017-06-01 00:00
441 查看
1.源码接口
/** * 源码接口定义 */ public interface HandlerExceptionResolver { ModelAndView resolveException( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex); }
2.源码接口实现
@Component public class ExceptionHandler implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { // 判断是否AJAX请求 if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) { try { response.setContentType("application/json;charset=UTF-8"); PrintWriter writer = response.getWriter(); Map<String, Object> map = new HashMap<String, Object>(); map.put("success", false); if (ex instanceof MessageException) {// 安全起见,业务异常前端可见,否则统一归为系统异常 map.put("errorMsg", ex.getMessage()); } else { map.put("errorMsg", "系统异常!"); } Gson gson = new Gson(); writer.write(gson.toJson(map)); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } Map<String, Object> model = new HashMap<>(); return new ModelAndView("/error", model); } }
ExceptionHandler 实现 HandlerExceptionResolver接口,需要添加 @Component 注解,或者增加配置文件 <bean class="com.xxg.ExceptionHandler " /> 。
配置完成,后台Controller中所有的业务异常都会由ExceptionHandler来处理。
相关文章推荐
- 利用HandlerExceptionResolver对SpringMVC进行统一异常处理
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- SpringMVC 异常处理 - HandlerExceptionResolver
- spring mvc的controller统一异常处理handlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- SpringMVC 异常处理 - HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- HandlerExceptionResolver统一捕获系统异常做处理
- 【SpringMVC】异常处理ExceptionHandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- SpringMVC 异常处理 - HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver
- Spring MVC的Controller统一异常处理:HandlerExceptionResolver