便捷的為任何類型的網頁内容産生的父類,像
AbstractController
WebContentInterceptor
也可用于自定義處理器HandlerAdapter 。
支援HTTP緩存控制選項。 對應的HTTP頭的使用可以通過控制"cacheSeconds"和"cacheControl"屬性。
注:Spring4.2的作為,使用隻有當這種的預設行為改變setCacheSeconds ,發送HTTP響應頭是符合目前的浏覽器和代理伺服器實作(即沒有HTTP 1.0頭了)恢複到以前的行為可以很容易地通過使用完成新近棄用的方法之一setUseExpiresHeader , setUseCacheControlHeader , setUseCacheControlNoStore或setAlwaysMustRevalidate 。
WebContentGenerator作為web内容生成器的超類,可以自定義處理器(handler),提供了浏覽器緩存控制,是否由session的必須開啟
浏覽器的請求方式(GET、HEAD、POST等),同時緩存的控制還提供了對HTTP1.0和HTTP1.1的支援。 WebContentGenerator 中的
supportedMethods、requireSession、useExpiresHeader、useCacheControlHeader、useCacheControlNoStore、cacheSeconds、
alwaysMustRevalidate都是可以在xml的bean中進行配置。
後面可配置的屬性,分析它們的主要作用:
supportedMethods:設定支援的請求方式,預設是上面的三種,如果是其他的請求方式,可以通過bean注入加入集合
requireSession :判斷浏覽器是否必須含有session,如果設定為true必須,浏覽器沒有session則會報錯(HttpSessionRequiredException異常)
useExpiresHeader:是否使用HTTP1.0協定緩存控制響應頭, 配合cacheSeconds使用。 為true添加"Expires"響應頭,本地副本緩存過期時間
useCacheControlHeader :是否使用HTTP1.1協定緩存控制響應頭,配合cacheSeconds使用
useCacheControlNoStore :是否使用HTTP1.1協定緩存控制響應頭,配合cacheSeconds使用
cacheSeconds :緩存過期時間,正數表示需要緩存,負數表示不做任何事情
alwaysMustRevalidate :處理器實作LastModified接口,伺服器會添加“Last-Modified”響應頭,表示伺服器最後修改的時間。