org.springframework.web.servlet.handler

## Class SimpleServletHandlerAdapter

- java.lang.Object
- - org.springframework.web.servlet.handler.SimpleServletHandlerAdapter

- All Implemented Interfaces:
    HandlerAdapter

      public class SimpleServletHandlerAdapter
      extends Object
      implements HandlerAdapter

  Adapter to use the Servlet interface with the generic DispatcherServlet. Calls the Servlet's `service` method to handle a request.

  Last-modified checking is not explicitly supported: This is typically handled by the Servlet implementation itself (usually deriving from the HttpServlet base class).

  This adapter is not activated by default; it needs to be defined as a bean in the DispatcherServlet context. It will automatically apply to mapped handler beans that implement the Servlet interface then.

  Note that Servlet instances defined as bean will not receive initialization and destruction callbacks, unless a special post-processor such as SimpleServletPostProcessor is defined in the DispatcherServlet context.

  Alternatively, consider wrapping a Servlet with Spring's ServletWrappingController. This is particularly appropriate for existing Servlet classes, allowing to specify Servlet initialization parameters etc.

  Since:
    1.1.5
  Author:
    Juergen Hoeller
  See Also:
    `Servlet`, `HttpServlet`, `SimpleServletPostProcessor`, `ServletWrappingController`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleServletHandlerAdapter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getLastModified(HttpServletRequest request, Object handler)` Same contract as for HttpServlet's `getLastModified` method.
    `ModelAndView` | `handle(HttpServletRequest request, HttpServletResponse response, Object handler)` Use the given handler to handle this request.
    `boolean` | `supports(Object handler)` Given a handler instance, return whether this `HandlerAdapter` can support it.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleServletHandlerAdapter

          public SimpleServletHandlerAdapter()

  - ### Method Detail

    - #### supports

          public boolean supports(Object handler)

      Description copied from interface: `HandlerAdapter`
      Given a handler instance, return whether this `HandlerAdapter` can 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);`

      Specified by:
        `supports` in interface `HandlerAdapter`
      Parameters:
        `handler` - the handler object to check
      Returns:
        whether this object can use the given handler

    - #### handle

          @Nullable
          public ModelAndView handle(HttpServletRequest request,
                                               HttpServletResponse response,
                                               Object handler)
                                        throws Exception

      Description copied from interface: `HandlerAdapter`
      Use the given handler to handle this request. The workflow that is required may vary widely.
      Specified by:
        `handle` in interface `HandlerAdapter`
      Parameters:
        `request` - current HTTP request
        `response` - current HTTP response
        `handler` - the handler to use. This object must have previously been passed to the `supports` method of this interface, which must have returned `true`.
      Returns:
        a ModelAndView object with the name of the view and the required model data, or `null` if the request has been handled directly
      Throws:
        `Exception` - in case of errors

    - #### getLastModified

          public long getLastModified(HttpServletRequest request,
                                      Object handler)

      Description copied from interface: `HandlerAdapter`
      Same contract as for HttpServlet's `getLastModified` method. Can simply return -1 if there's no support in the handler class.
      Specified by:
        `getLastModified` in interface `HandlerAdapter`
      Parameters:
        `request` - current HTTP request
        `handler` - the handler to use
      Returns:
        the lastModified value for the given handler