Class AbstractHandlerExceptionResolver

    • Field Detail

      • logger

        protected final Log logger
        Logger available to subclasses
    • Method Detail

      • setOrder

        public void setOrder​(int order)
      • getOrder

        public int getOrder()
        Description copied from interface: Ordered
        Get the order value of this object.

        Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet load-on-startup values).

        Same order values will result in arbitrary sort positions for the affected objects.

        Specified by:
        getOrder in interface Ordered
        Returns:
        the order value
        See Also:
        Ordered.HIGHEST_PRECEDENCE, Ordered.LOWEST_PRECEDENCE
      • setMappedHandlers

        public void setMappedHandlers​(Set<?> mappedHandlers)
        Specify the set of handlers that this exception resolver should apply to.

        The exception mappings and the default error view will only apply to the specified handlers.

        If no handlers or handler classes are set, the exception mappings and the default error view will apply to all handlers. This means that a specified default error view will be used as a fallback for all exceptions; any further HandlerExceptionResolvers in the chain will be ignored in this case.

      • setMappedHandlerClasses

        public void setMappedHandlerClasses​(Class<?>... mappedHandlerClasses)
        Specify the set of classes that this exception resolver should apply to.

        The exception mappings and the default error view will only apply to handlers of the specified types; the specified types may be interfaces or superclasses of handlers as well.

        If no handlers or handler classes are set, the exception mappings and the default error view will apply to all handlers. This means that a specified default error view will be used as a fallback for all exceptions; any further HandlerExceptionResolvers in the chain will be ignored in this case.

      • setPreventResponseCaching

        public void setPreventResponseCaching​(boolean preventResponseCaching)
        Specify whether to prevent HTTP response caching for any view resolved by this exception resolver.

        Default is false. Switch this to true in order to automatically generate HTTP response headers that suppress response caching.

      • buildLogMessage

        protected String buildLogMessage​(Exception ex,
                                         HttpServletRequest request)
        Build a log message for the given exception, occurred during processing the given request.
        Parameters:
        ex - the exception that got thrown during handler execution
        request - current HTTP request (useful for obtaining metadata)
        Returns:
        the log message to use
      • preventCaching

        protected void preventCaching​(HttpServletResponse response)
        Prevents the response from being cached, through setting corresponding HTTP Cache-Control: no-store header.
        Parameters:
        response - current HTTP response
      • doResolveException

        protected abstract ModelAndView doResolveException​(HttpServletRequest request,
                                                           HttpServletResponse response,
                                                           Object handler,
                                                           Exception ex)
        Actually resolve the given exception that got thrown during handler execution, returning a ModelAndView that represents a specific error page if appropriate.

        May be overridden in subclasses, in order to apply specific exception checks. Note that this template method will be invoked after checking whether this resolved applies ("mappedHandlers" etc), so an implementation may simply proceed with its actual exception handling.

        Parameters:
        request - current HTTP request
        response - current HTTP response
        handler - the executed handler, or null if none chosen at the time of the exception (for example, if multipart resolution failed)
        ex - the exception that got thrown during handler execution
        Returns:
        a corresponding ModelAndView to forward to, or null for default processing in the resolution chain