最近做的一个商城系统提到解决全局异常的问题,在用SSM框架开发的过程中,所有的exception几乎都选择抛出去,最终抛到web层,只能处理,在处理的时候,我们就需要用到全局异常处理器来捉到这些异常。
怎么使用springmvc的全局异常处理器呢?
1.创一个类实现HandlerExceptionResolver接口。
public class GlobalExceptionReslover implements HandlerExceptionResolver {
Logger logger = LoggerFactory.getLogger(GlobalExceptionReslover.class);
@Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { //写日志文件 logger.error("系统发生异常", ex); //发邮件、发短信 //Jmail:可以查找相关的资料 //需要在购买短信。调用第三方接口即可。 //展示错误页面 ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "系统发生异常,请稍后重试"); modelAndView.setViewName("error/exception");//错误页面指示的页面 return modelAndView; }
} |
2.在springmvc.xml中配置
只需要两步就可以让系统捕捉到整个系统的exception。get