Tomcat 的 Session 管理?
Tomcat 面试题发布于
一、Session 实现
Tomcat 用 StandardSession 实现 HttpSession,存在内存中,由 Manager 管理。
二、持久化
- StandardManager:Tomcat 关闭时序列化 Session 到 SESSIONS.ser,启动时恢复。
- PersistentManager:可把空闲 Session 保存到文件或数据库。
三、集群 Session 共享
- 粘性会话(Sticky Session):同一用户请求固定到同一节点,无需共享,但节点宕机 Session 丢失。
- Session 复制:节点间广播 Session,一致性好但开销大。
- 集中存储:Session 存 Redis 等,推荐。
四、Session 超时
<session-config>
<session-timeout>30</session-timeout>
</session-config>
五、Cookie
Tomcat 默认用 JSESSIONID Cookie 跟踪 Session,也支持 URL 重写。