springMVC 异常统一处理类
来源:互联网 发布:protgresql和mysql 编辑:程序博客网 时间:2024/05/29 19:51
public class ExceptionResolver implements HandlerExceptionResolver {private static final Logger LOG = Logger.getLogger(ExceptionResolver.class);private static final String DEFAULT_EXCEPTION_VIEW = "exception/exception";@Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {if (ex != null) {ex = adaptException(ex, request);if (TempleConfigContext.getCurrentRequestType() == TempleConfigContext.AJAX_REQUEST_TYPE) {return handlerAjax(request, response, ex);} else {return handlerDefault(request, response, handler, ex);}}return new ModelAndView();}private BusinessException adaptException(Exception ex,HttpServletRequest request) {if (ex.getClass() != BusinessException.class) {LOG.error(LogUtil.getLogStr(request), ex);return new BusinessException(CommonStateEnum.BAD_GATEWAY, ex);}BusinessException tempEx = (BusinessException) ex;if (tempEx.getException() != null) {LOG.warn(LogUtil.getLogStr(request), tempEx);} else {LOG.warn(tempEx.getMessage() + LogUtil.getLogStr(request));}return tempEx;}private ModelAndView handlerAjax(HttpServletRequest request,HttpServletResponse response, Exception ex) {PrintWriter out = null;try {out = response.getWriter();response.setCharacterEncoding(Constant.ENCODING);response.setStatus(((BusinessException) ex).getCode());out.println(((BusinessException) ex).getJSONString());out.flush();} catch (Exception e) {LOG.error(LogUtil.getLogStr(request), e);} finally {out.close();}return new ModelAndView();}private ModelAndView handlerDefault(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {response.setStatus(HttpStatus.OK.value());Map<String, Object> map = ((BusinessException) ex).getMap();for (Map.Entry<String, Object> each : map.entrySet()) {request.setAttribute(each.getKey(), each.getValue());}return new ModelAndView(DEFAULT_EXCEPTION_VIEW);}}
0 0
- springMVC 异常统一处理类
- springmvc统一异常处理
- SpringMVC异常统一处理
- SpringMVC统一异常处理
- springMVC统一异常处理
- springmvc 统一处理异常
- springmvc 统一异常处理
- springmvc 统一异常处理
- springmvc异常统一处理
- springMVC异常统一处理
- SpringMVC异常统一处理
- springMVC异常统一处理
- SpringMVC统一异常处理
- SpringMVC统一异常处理
- springmvc统一异常处理
- springmvc异常统一处理
- springmvc 统一处理异常机制
- SpringMVC 统一异常处理入口
- dom4j的document遍历方法
- 200. Number of Islands
- Ubuntu图形界面和文字界面切换
- 264. Ugly Number II
- PAT (Basic Level) Practise 代码保存
- springMVC 异常统一处理类
- PL/SQL程序之存储过程和存储函数
- 动态规划:找零钱问题
- 134. Gas Station
- 文本编辑样式!
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- OKapi BM25 算法
- Storm集群组件和编程模型
- 带有Synchronized修饰的方法与普通方法在一个类中执行线程