org.springframework.web.servlet.mvc
Interface LastModified

All Known Implementing Classes:
MultiActionController

public interface LastModified

Supports last-modified HTTP requests to facilitate content caching. Same contract as for the Servlet API's getLastModified method.

Delegated to by a HandlerAdapter.getLastModified(javax.servlet.http.HttpServletRequest, java.lang.Object) implementation. By default, any Controller or HttpRequestHandler within Spring's default framework can implement this interface to enable last-modified checking.

Note: Alternative handler implementation approaches have different last-modified handling styles. For example, Spring 2.5's annotated controller approach (using @RequestMapping) provides last-modified support through the WebRequest.checkNotModified(long) method, allowing for last-modified checking within the main handler method.

Author:
Rod Johnson, Juergen Hoeller
See Also:
HttpServlet.getLastModified(javax.servlet.http.HttpServletRequest), Controller, SimpleControllerHandlerAdapter, HttpRequestHandler, HttpRequestHandlerAdapter

Method Summary
 long getLastModified(HttpServletRequest request)
          Same contract as for HttpServlet's getLastModified method.
 

Method Detail

getLastModified

long getLastModified(HttpServletRequest request)
Same contract as for HttpServlet's getLastModified method. Invoked before request processing.

The return value will be sent to the HTTP client as Last-Modified header, and compared with If-Modified-Since headers that the client sends back. The content will only get regenerated if there has been a modification.

Parameters:
request - current HTTP request
Returns:
the time the underlying resource was last modified, or -1 meaning that the content must always be regenerated
See Also:
HandlerAdapter.getLastModified(javax.servlet.http.HttpServletRequest, java.lang.Object), HttpServlet.getLastModified(javax.servlet.http.HttpServletRequest)