Java 如何在SpringMVC中处理异常?

Java 如何在SpringMVC中处理异常?,java,spring-mvc,exception,servlet-filters,Java,Spring Mvc,Exception,Servlet Filters,我在一个基于spring mvc的项目中工作,通过扩展DefaultHandlerExceptionResolver以根据异常类型重定向到错误页面,开发了一个ExceptionResolver。它适用于在facade、service和DAO层引发的异常 但它不适用于Servlet过滤器中引发的任何异常。对此应该做些什么改变 下面是我的handlerExceptionResolver public ModelAndView doResolveException(final HttpServletR

我在一个基于spring mvc的项目中工作,通过扩展
DefaultHandlerExceptionResolver
以根据异常类型重定向到错误页面,开发了一个
ExceptionResolver
。它适用于在facade、service和DAO层引发的异常

但它不适用于Servlet过滤器中引发的任何异常。对此应该做些什么改变

下面是我的handlerExceptionResolver

public ModelAndView doResolveException(final HttpServletRequest request, final HttpServletResponse response, final Object obj,
        final Exception exception){
    ModelAndView modelAndView = super.doResolveException(request, response, obj, exception);

    modelAndView = Objects.nonNull(modelAndView) ? modelAndView : new ModelAndView();
    final String url = Config.getParameter(EXCEPTION_HANDLER_URL);

    modelAndView.setViewName(url);
    final FlashMap outputFlashMap = RequestContextUtils.getOutputFlashMap(request);
    outputFlashMap.put(ERROR_DETAILS, exception);

    if (exception instanceof BusinessExecutionException)
    {
        return handleBusinessExecutionExceptionMethod((BusinessExecutionException) exception, outputFlashMap, modelAndView);

    }
    else if (exception instanceof IntegrationExecutionException)
    {
        return handleIntegrationExecutionExceptionMethod((IntegrationExecutionException) exception, outputFlashMap,
                modelAndView);
    }
    else if (exception instanceof DataAccessObjectExecutionException)
    {
        return handleDAOExecutionExceptionMethod((DataAccessObjectExecutionException) exception, outputFlashMap, modelAndView);
    }

    return handleMiscException(exception, outputFlashMap, modelAndView);

}

使用Spring异常处理程序:
这很方便-您可以“捕获”有关类型和HTTP状态的异常。

无法告诉您如果您不提供您现在拥有的内容,需要进行哪些更改。请查看此信息。