package com.hxzkoa.util; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.InvalidDataAccessResourceUsageException; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; public class MyExceptionHandler implements HandlerExceptionResolver { private Logger logger = LoggerFactory.getLogger(this.getClass()); public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { Map model = new HashMap(); model.put("ex", ex); // 根据不同错误转向不同页面 if (ex instanceof NullPointerException) { logger.error("error occures.....", ex); model.put("msg", ex.getMessage()); return new ModelAndView("forward:/common/fail.jsp", model); }else if(ex instanceof InvalidDataAccessResourceUsageException){ logger.error("error occures.....", ex); model.put("msg", "用户权限不足,请先配置有权限的数据库账户"); return new ModelAndView("forward:/common/fail.jsp", model); } else if (ex instanceof RuntimeException) { logger.error("error occures.....", ex); model.put("msg", ex.getMessage()); return new ModelAndView("forward:/common/fail.jsp", model); } else { logger.error("error occures.....", ex); model.put("msg", "发生错误"); return new ModelAndView("forward:/common/fail.jsp", model); } } }