SpringMVC源码解析WebContentGenerator
便捷的为任何类型的网页内容产生的父类,像
- 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”响应头,表示服务器最后修改的时间。
文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。
原文链接:javaedge.blog.csdn.net/article/details/106548002
- 点赞
- 收藏
- 关注作者
评论(0)