通过实现HandlerExceptionResolver接口,可以实现全局的异常处理,它提供了resolveException(Exception, Hanlder)方法的一个实现,此方法会返回一个ModelAndView,进行失败后的页面的跳转。@Component
public class MyHandlerException implements HandlerExceptionResolver {
/**
* 实现HandlerExceptionResolver异常处理,实现对控制器的全局处理
* @param request 可以获取请求参数
* @param response 可以获取返回参数
* @param handler
* @param ex
* @return
*/
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
//获取控制器
System.out.println(handler);
System.out.println(ex.getMessage());
ModelAndView modelAndView = new ModelAndView();
//异常跳转至错误页面
modelAndView.setViewName("jsp/error");
return modelAndView;
}
}