创建会话

优质
小牛编辑
136浏览
2023-12-01

当会话仅是一个未来的且还没有被建立的会话时被认为是“新”的。因为 HTTP是一种基于请求-响应的协议,直到客户端“加入”到 HTTP 会话之前它都被认为是新的。当会话跟踪信息返回到服务器指示会话已经建立时客户端加入到会话。直到客户端加入到会话,否则不能假定下一个来自客户端的请求被识别为同一会话。

如果以下之一是 true,会话被认为是“新”的:

  • 客户端还不知道会话
  • 客户端选择不加入会话。

这些条件定义了 servlet 容器没有机制能把一个请求与之前的请求相关联的情况。

servlet开发人员必须设计他的应用以便处理客户端没有,不能,或不会加入会话的情况。

与每个会话相关联是一个包含唯一标识符的字符串,也被称为会话ID。会话 ID 的值能通过调用javax.servlet.http.HttpSession.getId() 获取,且能在创建后通过调用javax.servlet.http.HttpServletRequest.changeSessionId() 改变。