SpringMVC源码解析WebContentGenerator
发布日期:2021-06-30 12:25:41
浏览次数:2
分类:技术文章
本文共 1186 字,大约阅读时间需要 3 分钟。
便捷的为任何类型的网页内容产生的父类,像
- 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”响应头,表示服务器最后修改的时间。
转载地址:https://javaedge.blog.csdn.net/article/details/106548002 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月30日 03时38分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android使用Retrofit_00_Getting Started
2019-04-30
Android使用Retrofit_01_OAuth2 + GitHub
2019-04-30
Django + REST学习笔记
2019-04-30
【转载】将Ubuntu16.04 中gedit在仅显示一个文件时显示文件名tab
2019-04-30
fstream 对象多次使用时注意clear
2019-04-30
调试 LenaCV 3D Camera (Linux)
2019-04-30
OpenCV杂记 - Mat in C++
2019-04-30
lnmp部署
2019-04-30
nginx平滑升级
2019-04-30
location区段
2019-04-30
nginx访问控制、基于用户认证、https配置
2019-04-30
用zabbix监控nginx
2019-04-30
rewrite和if语句
2019-04-30
nginx实现负载均衡和动静分离
2019-04-30
SaltStack
2019-04-30
Packer 如何将 JSON 的配置升级为 HCL2
2019-04-30