sessionHandler

Jetty源码学习11-Session

别来无恙 提交于 2019-12-19 00:30:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 引言 本文主要的内容有:解析session原理;总结jetty中的session体系;屡清session、sessionManager、sessionIdManager、sessionHandler之间的联系。 Session模型 SessionManager有多种实现,Jetty提供了HashSessionManage和JDBCSessionManager的实现,本文仅分析HashSessionManager体系。 1、SessionHandler的作用上文已经介绍过了,简单地说就是给request设置SessionMananger,供其在应用中使用,最后恢复request中的SessionManager,主要用在跨app的转发。 2、SessionManager如其名,起着管理app域session的作用,因此它必须依赖:Session(meta data)、Timer(定时器)、SessionIdManager(保证整个Jetty中sessionId的唯一性) 3、Session:一个k-v结构储存用户信息的类。 4、Timer:定时器,主要负责Session的过期处理和定时持久化Session的功能。 5、SessionIdManager:session的key即返回给客户端保存的JESSIONID