【问题标题】:How does spring handle exceptions in MVCSpring如何处理MVC中的异常
【发布时间】: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


    【解决方案1】:

    我认为您宁愿将错误页面放在 Web.xml 中,每当您访问错误页面时,它将被重定向到此错误页面。这也不太麻烦且易于管理。

    这能回答你的问题吗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 2016-12-30
      • 2011-10-08
      • 2013-03-09
      相关资源
      最近更新 更多