|
||||||||||
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
public abstract class WebContentGenerator
Convenient superclass for any kind of web content generator, like AbstractController and WebContentInterceptor. Can also be used for custom handlers that have their own HandlerAdapter.
Supports HTTP cache control options. The usage of corresponding HTTP headers can be determined via the "useExpiresHeader" and "userCacheControlHeader" properties.
setUseExpiresHeader(boolean)
,
setUseCacheControlHeader(boolean)
,
AbstractController
,
WebContentInterceptor
Field Summary | |
---|---|
static String |
HEADER_CACHE_CONTROL
|
static String |
HEADER_EXPIRES
|
static String |
HEADER_PRAGMA
|
static String |
METHOD_GET
|
static String |
METHOD_HEAD
|
static String |
METHOD_POST
|
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
---|
logger |
Constructor Summary | |
---|---|
WebContentGenerator()
|
Method Summary | |
---|---|
protected void |
applyCacheSeconds(HttpServletResponse response,
int seconds)
Apply the given cache seconds and generate corresponding HTTP headers, i.e. allow caching for the given number of seconds in case of a positive value, prevent caching if given a 0 value, do nothing else. |
protected void |
applyCacheSeconds(HttpServletResponse response,
int seconds,
boolean mustRevalidate)
Apply the given cache seconds and generate respective HTTP headers, i.e. allow caching for the given number of seconds in case of a positive value, prevent caching if given a 0 value, do nothing else. |
protected void |
cacheForSeconds(HttpServletResponse response,
int seconds)
Set HTTP headers to allow caching for the given number of seconds. |
protected void |
cacheForSeconds(HttpServletResponse response,
int seconds,
boolean mustRevalidate)
Set HTTP headers to allow caching for the given number of seconds. |
protected void |
checkAndPrepare(HttpServletRequest request,
HttpServletResponse response,
boolean lastModified)
Check and prepare the given request and response according to the settings of this generator. |
protected void |
checkAndPrepare(HttpServletRequest request,
HttpServletResponse response,
int cacheSeconds,
boolean lastModified)
Check and prepare the given request and response according to the settings of this generator. |
int |
getCacheSeconds()
Return the number of seconds that content is cached. |
String[] |
getSupportedMethods()
Return the HTTP methods that this content generator supports. |
boolean |
isRequireSession()
Return whether a session is required to handle requests. |
boolean |
isUseCacheControlHeader()
Return whether the HTTP 1.1 cache-control header is used. |
boolean |
isUseExpiresHeader()
Return whether the HTTP 1.0 expires header is used. |
protected void |
preventCaching(HttpServletResponse response)
Prevent the response from being cached. |
void |
setCacheSeconds(int seconds)
Cache content for the given number of seconds. |
void |
setRequireSession(boolean requireSession)
Set whether a session should be required to handle requests. |
void |
setSupportedMethods(String[] methods)
Set the HTTP methods that this content generator should support. |
void |
setUseCacheControlHeader(boolean useCacheControlHeader)
Set whether to use the HTTP 1.1 cache-control header. |
void |
setUseExpiresHeader(boolean useExpiresHeader)
Set whether to use the HTTP 1.0 expires header. |
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 |
Field Detail |
---|
public static final String METHOD_HEAD
public static final String METHOD_GET
public static final String METHOD_POST
public static final String HEADER_PRAGMA
public static final String HEADER_EXPIRES
public static final String HEADER_CACHE_CONTROL
Constructor Detail |
---|
public WebContentGenerator()
Method Detail |
---|
public final void setSupportedMethods(String[] methods)
public final String[] getSupportedMethods()
public final void setRequireSession(boolean requireSession)
public final boolean isRequireSession()
public final void setUseExpiresHeader(boolean useExpiresHeader)
Note: Cache headers will only get applied if caching is enabled for the current request.
public final boolean isUseExpiresHeader()
public final void setUseCacheControlHeader(boolean useCacheControlHeader)
Note: Cache headers will only get applied if caching is enabled for the current request.
public final boolean isUseCacheControlHeader()
public final void setCacheSeconds(int seconds)
Only if this is set to 0 (no cache) or a positive value (cache for this many seconds) will this class generate cache headers.
The headers can be overwritten by subclasses, before content is generated.
public final int getCacheSeconds()
protected final void checkAndPrepare(HttpServletRequest request, HttpServletResponse response, boolean lastModified) throws ServletException
request
- current HTTP requestresponse
- current HTTP responselastModified
- if the mapped handler provides Last-Modified support
ServletException
- if the request cannot be handled because a check failedprotected final void checkAndPrepare(HttpServletRequest request, HttpServletResponse response, int cacheSeconds, boolean lastModified) throws ServletException
request
- current HTTP requestresponse
- current HTTP responsecacheSeconds
- positive number of seconds into the future that the
response should be cacheable for, 0 to prevent cachinglastModified
- if the mapped handler provides Last-Modified support
ServletException
- if the request cannot be handled because a check failedprotected final void preventCaching(HttpServletResponse response)
protected final void cacheForSeconds(HttpServletResponse response, int seconds)
response
- current HTTP responseseconds
- number of seconds into the future that the response
should be cacheable forcacheForSeconds(javax.servlet.http.HttpServletResponse, int, boolean)
protected final void cacheForSeconds(HttpServletResponse response, int seconds, boolean mustRevalidate)
response
- current HTTP responseseconds
- number of seconds into the future that the response
should be cacheable formustRevalidate
- whether the client should revalidate the resource
(typically only necessary for controllers with last-modified support)protected final void applyCacheSeconds(HttpServletResponse response, int seconds)
response
- current HTTP responseseconds
- positive number of seconds into the future that the
response should be cacheable for, 0 to prevent cachingcacheForSeconds(javax.servlet.http.HttpServletResponse, int, boolean)
protected final void applyCacheSeconds(HttpServletResponse response, int seconds, boolean mustRevalidate)
response
- current HTTP responseseconds
- positive number of seconds into the future that the
response should be cacheable for, 0 to prevent cachingmustRevalidate
- whether the client should revalidate the resource
(typically only necessary for controllers with last-modified support)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |