|
|
|
@ -996,12 +996,10 @@ public class DispatcherServlet extends FrameworkServlet { |
|
|
|
* @return a corresponding ModelAndView to forward to |
|
|
|
* @return a corresponding ModelAndView to forward to |
|
|
|
* @throws Exception if no error ModelAndView found |
|
|
|
* @throws Exception if no error ModelAndView found |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
protected ModelAndView processHandlerException(HttpServletRequest request, |
|
|
|
protected ModelAndView processHandlerException(HttpServletRequest request, HttpServletResponse response, |
|
|
|
HttpServletResponse response, |
|
|
|
Object handler, Exception ex) throws Exception { |
|
|
|
Object handler, |
|
|
|
|
|
|
|
Exception ex) throws Exception { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check registerer HandlerExceptionResolvers...
|
|
|
|
// Check registered HandlerExceptionResolvers...
|
|
|
|
ModelAndView exMv = null; |
|
|
|
ModelAndView exMv = null; |
|
|
|
for (HandlerExceptionResolver handlerExceptionResolver : this.handlerExceptionResolvers) { |
|
|
|
for (HandlerExceptionResolver handlerExceptionResolver : this.handlerExceptionResolvers) { |
|
|
|
exMv = handlerExceptionResolver.resolveException(request, response, handler, ex); |
|
|
|
exMv = handlerExceptionResolver.resolveException(request, response, handler, ex); |
|
|
|
@ -1013,9 +1011,12 @@ public class DispatcherServlet extends FrameworkServlet { |
|
|
|
if (exMv.isEmpty()) { |
|
|
|
if (exMv.isEmpty()) { |
|
|
|
return null; |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// We might still need view name translation for a plain error model...
|
|
|
|
|
|
|
|
if (!exMv.hasView()) { |
|
|
|
|
|
|
|
exMv.setViewName(getDefaultViewName(request)); |
|
|
|
|
|
|
|
} |
|
|
|
if (logger.isDebugEnabled()) { |
|
|
|
if (logger.isDebugEnabled()) { |
|
|
|
logger.debug("Handler execution resulted in exception - forwarding to resolved error view: " + exMv, |
|
|
|
logger.debug("Handler execution resulted in exception - forwarding to resolved error view: " + exMv, ex); |
|
|
|
ex); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
WebUtils.exposeErrorRequestAttributes(request, ex, getServletName()); |
|
|
|
WebUtils.exposeErrorRequestAttributes(request, ex, getServletName()); |
|
|
|
return exMv; |
|
|
|
return exMv; |
|
|
|
|