/** * 文件名 : BaseController.java * 版权 : XX科技有限公司。 * 描述 : <描述> * 修改时间:2016年9月7日 * 修改内容:<修改内容> */ package com.base; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.springframework.web.bind.annotation.ExceptionHandler; import com.platform.utils.Configs; /** * <一句话功能简述> * <功能详细描述> * @author chen * @version [版本号,2016年9月7日] * @see [相关类/方法] * @since [产品/模块版本] */ public class BaseController { /** log4j */ public static Logger log = Configs.DAILY_ROLLING_LOGGER; /** * <一句话功能简述> 基于@ExceptionHandler异常处理----全局异常处理 * <功能详细描述> * @param request * @param ex 异常 * @return * @see [类、类#方法、类#成员] */ @ExceptionHandler public Object exp(HttpServletRequest request, HttpServletResponse response,Exception ex) { System.out.println("URI"+request.getRequestURI()); request.setAttribute("ex", ex); System.err.println("BaseController --exp " + ex); new CustomException("base_code_", ex); // 根据不同错误转向不同页面 if(ex instanceof CustomException) { CustomException cuse = (CustomException) ex; Map errmsg = new HashMap<>(); errmsg.put("code", cuse.getCode()); errmsg.put("msg", cuse.getMsg()); log.error(cuse.getCode()); response.setStatus(500); return response; } else { //其他错误则 调到指定页面 log.error(Configs.GLOBAL_EXP_NOT_CUSTOM, ex); response.setStatus(500); return response; } } }