package com.rnt.commo.interceptor; import javax.servlet.http.HttpServletRequest; import com.jfinal.aop.Interceptor; import com.jfinal.aop.Invocation; import com.jfinal.core.Controller; import com.rnt.vo.BizResult; /** * Copyright: Copyright (c) 2017 zteits * * @ClassName: com.rnt.commo.interceptor * @Description: 统一异常处理 * @version: v1.0.0 * @author: atao * @date: 2017/6/7 下午4:21 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2017/6/7 atao v1.0.0 创建 */ public class ExceInterceptor implements Interceptor { @Override public void intercept(Invocation inv) { Controller controller = inv.getController(); HttpServletRequest request = controller.getRequest(); Boolean isAjax = false; try { inv.invoke(); } catch (Exception e) { e.printStackTrace(); String header = request.getHeader("X-Requested-With"); //判断是否是ajax请求 isAjax = "XMLHttpRequest".equalsIgnoreCase(header); if (isAjax) { // ajax 请求,返回json数据 BizResult bizResult = new BizResult(); bizResult.setCode("9999"); bizResult.setMsg("系统异常,请稍后重试!"); controller.renderJson(bizResult); } else { //非ajax 请求,请求的是页面,跳转到错误页面。 controller.render("syserror.html"); } } } }