Class SimpleServletHandlerAdapter

  extended byorg.springframework.web.servlet.handler.SimpleServletHandlerAdapter
All Implemented Interfaces:

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.

Juergen Hoeller
See Also:
Servlet, HttpServlet, SimpleServletPostProcessor, ServletWrappingController

Constructor Summary
Method Summary
 long getLastModified(HttpServletRequest request, Object handler)
          Same contract as for HttpServlet.getLastModified.
 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 or not 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


public SimpleServletHandlerAdapter()
Method Detail


public boolean supports(Object handler)
Description copied from interface: HandlerAdapter
Given a handler instance, return whether or not 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
handler - handler object to check
whether or not this object can use the given handler


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
request - current HTTP request
response - current HTTP response
handler - handler to use. This object must have previously been passed to the supports method of this interface, which must have returned true.
ModelAndView object with the name of the view and the required model data, or null if the request has been handled directly
Exception - in case of errors


public long getLastModified(HttpServletRequest request,
                            Object handler)
Description copied from interface: HandlerAdapter
Same contract as for HttpServlet.getLastModified. Can simply return -1 if there's no support in the handler class.

Specified by:
getLastModified in interface HandlerAdapter
request - current HTTP request
handler - handler to use
the lastModified value for the given handler
See Also:
HttpServlet.getLastModified(javax.servlet.http.HttpServletRequest), LastModified.getLastModified(javax.servlet.http.HttpServletRequest)

Copyright (C) 2003-2004 The Spring Framework Project.