|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.support.ApplicationObjectSupport org.springframework.web.context.support.WebApplicationObjectSupport org.springframework.web.servlet.support.WebContentGenerator org.springframework.web.servlet.mvc.AbstractController
Convenient superclass for controller implementations, using the Template Method design pattern.
As stated in the Controller
interface, a lot of functionality is already provided by certain abstract
base controllers. The AbstractController is one of the most important
abstract base controller providing basic features such as the generation
of caching headers and the enabling or disabling of
supported methods (GET/POST).
Workflow
(and that defined by interface):
handleRequest()
will be called by the DispatcherServlethandleRequestInternal()
,
which should be implemented by extending classes to provide actual
functionality to return ModelAndView
objects.Exposed configuration properties
(and those defined by interface):
name | default | description |
supportedMethods | GET,POST | comma-separated (CSV) list of methods supported by this controller, such as GET, POST and PUT |
requireSession | false | whether a session should be required for requests to be able to be handled by this controller. This ensures, derived controller can - without fear of Nullpointers - call request.getSession() to retrieve a session. If no session can be found while processing the request, a ServletException will be thrown |
cacheSeconds | -1 | indicates the amount of seconds to include in the cache header for the response following on this request. 0 (zero) will include headers for no caching at all, -1 (the default) will not generate any headers and any positive number will generate headers that state the amount indicated as seconds to cache the content |
WebContentInterceptor
Field Summary |
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator |
HEADER_CACHE_CONTROL, HEADER_EXPIRES, HEADER_PRAGMA, METHOD_GET, METHOD_POST |
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
logger |
Constructor Summary | |
AbstractController()
|
Method Summary | |
ModelAndView |
handleRequest(HttpServletRequest request,
HttpServletResponse response)
Process the request and return a ModelAndView object which the DispatcherServlet will render. |
protected abstract ModelAndView |
handleRequestInternal(HttpServletRequest request,
HttpServletResponse response)
Template method. |
boolean |
isSynchronizeOnSession()
Return whether controller execution should be synchronized on the session. |
void |
setSynchronizeOnSession(boolean synchronizeOnSession)
Set if controller execution should be synchronized on the session, to serialize parallel invocations from the same client. |
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator |
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isRequireSession, isUseCacheControlHeader, isUseExpiresHeader, preventCaching, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseExpiresHeader |
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport |
getServletContext, getTempDir, getWebApplicationContext, isContextRequired |
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport |
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public AbstractController()
Method Detail |
public final void setSynchronizeOnSession(boolean synchronizeOnSession)
More specifically, the execution of the handleRequestInternal method will get synchronized if this flag is true.
handleRequestInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
public final boolean isSynchronizeOnSession()
public final ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
Controller
handleRequest
in interface Controller
request
- current HTTP requestresponse
- current HTTP response
Exception
- in case of errorsprotected abstract ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception
Exception
handleRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |