把 session 存储到一个独立的存储设备中。
比如一台数据库,一个磁盘文件,或者一个 session 服务器。
就tomcat而言,每一个项目生成session时都会有自己的sessionid,从项目A链接到项目B时,项目B怎么获取项目A当前用户的session呢。
@泱泱: 比如 session 存储在 A 中,那么,A 就提供一个服务用于插入、更新、获取、删除 session,B 通过调用此服务来和 A 保持同步。
@Launcher: B依据什么得到A的session呢
@泱泱: A 生成 session 后,会在返回的响应的 http header 中添加 xxxxsessionId: xkcjvlxcjvkjcvlkj, 客户页面再次提交时会在请求的 http header 中携带上 xxxxsessionId: xkcjvlxcjvkjcvlkj,B 页面就能从 http header 中得到 xxxxsessionId: xkcjvlxcjvkjcvlkj,然后用此 id 去 A 查询 session 是否存在。
来学习学习