【发布时间】:2015-05-14 06:20:15
【问题描述】:
Spring MVC 异常处理
在我看来,Spring MVC 应用程序中存在不同类型的异常。
例如,一旦发生错误,服务或 dao 层可能会抛出异常。或者如果 spring 找不到合适的处理程序来处理请求,它本身可能会抛出异常。
现在我尝试使用ControllerAdvice 来处理异常:
@ControllerAdvice
public class GlobalExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ExceptionHandler(Exception.class)
public ModelAndView myError(Exception exception) {
log.error(exception.getMessage());
ModelAndView mav = new ModelAndView();
mav.addObject("exception", exception);
mav.setViewName("error");
return mav;
}
}
但是一旦我访问了错误的页面,我会从 tomcat 得到 404 错误页面,而不是 ControllerAdvice 中定义的 error 视图。
那么spring是如何处理异常的呢?
【问题讨论】:
标签: spring spring-mvc