Java 如何在SpringMVC中处理异常?
我在一个基于spring mvc的项目中工作,通过扩展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
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状态的异常。无法告诉您如果您不提供您现在拥有的内容,需要进行哪些更改。请查看此信息。