Interface HandlerAdapter
- All Known Implementing Classes:
AbstractHandlerMethodAdapter,HandlerFunctionAdapter,HttpRequestHandlerAdapter,RequestMappingHandlerAdapter,SimpleControllerHandlerAdapter,SimpleServletHandlerAdapter
Interface that must be implemented for each handler type to handle a request.
This interface is used to allow the DispatcherServlet to be indefinitely
extensible. The DispatcherServlet accesses all installed handlers through
this interface, meaning that it does not contain code specific to any handler type.
Note that a handler can be of type Object. This is to enable
handlers from other frameworks to be integrated with this framework without
custom coding, as well as to allow for annotation-driven handler objects that
do not obey any specific Java interface.
This interface is not intended for application developers. It is available to handlers who want to develop their own web workflow.
Note: HandlerAdapter implementors may implement the Ordered interface to be able to specify a sorting
order (and thus a priority) for getting applied by the DispatcherServlet.
Non-Ordered instances get treated as the lowest priority.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionlonggetLastModified(HttpServletRequest request, Object handler) Deprecated.handle(HttpServletRequest request, HttpServletResponse response, Object handler) Use the given handler to handle this request.booleanGiven a handler instance, return whether thisHandlerAdaptercan support it.
-
Method Details
-
supports
Given a handler instance, return whether thisHandlerAdaptercan support it. Typical HandlerAdapters will base the decision on the handler type. HandlerAdapters will usually only support one handler type each.A typical implementation:
return (handler instanceof MyHandler);- Parameters:
handler- the handler object to check- Returns:
- whether this object can use the given handler
-
handle
@Nullable ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception Use the given handler to handle this request. The workflow that is required may vary widely.- Parameters:
request- current HTTP requestresponse- current HTTP responsehandler- the handler to use. This object must have previously been passed to thesupportsmethod of this interface, which must have returnedtrue.- Returns:
- a ModelAndView object with the name of the view and the required
model data, or
nullif the request has been handled directly - Throws:
Exception- in case of errors
-
getLastModified
Deprecated.as of 5.3.9 along withLastModified.Same contract as for HttpServlet'sgetLastModifiedmethod. Can simply return -1 if there's no support in the handler class.- Parameters:
request- current HTTP requesthandler- the handler to use- Returns:
- the lastModified value for the given handler
-
LastModified.