前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC源码解析WebContentGenerator

SpringMVC源码解析WebContentGenerator

作者头像
JavaEdge
发布2021-02-22 14:55:32
1560
发布2021-02-22 14:55:32
举报
文章被收录于专栏:JavaEdgeJavaEdge

便捷的为任何类型的网页内容产生的父类,像

  • 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”响应头,表示服务器最后修改的时间。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档