4) HttpSession 接口

17 Mar 2025 | 阅读 2 分钟

在这种情况下,容器为每个用户创建一个会话 ID。容器使用此 ID 来标识特定用户。可以使用 HttpSession 对象来执行两项任务

  1. 绑定对象
  2. 查看和操作有关会话的信息,例如会话标识符、创建时间和上次访问时间。
HttpSession object

如何获取 HttpSession 对象?

HttpServletRequest 接口提供了两种获取 HttpSession 对象的方法

  1. public HttpSession getSession():返回与此请求关联的当前会话,如果请求没有会话,则创建一个会话。
  2. public HttpSession getSession(boolean create):返回与此请求关联的当前 HttpSession,或者,如果当前没有会话并且 create 为 true,则返回一个新会话。

HttpSession 接口的常用方法

  1. public String getId():返回一个包含唯一标识符值的字符串。
  2. public long getCreationTime():返回创建此会话的时间,以自 1970 年 1 月 1 日 GMT 午夜以来的毫秒为单位。
  3. public long getLastAccessedTime():返回客户端发送与此会话关联的请求的上次时间,以自 1970 年 1 月 1 日 GMT 午夜以来的毫秒为单位。
  4. public void invalidate():使此会话无效,然后取消绑定绑定到它的任何对象。

使用 HttpSession 的示例

在此示例中,我们正在一个 servlet 中设置会话范围内的属性,并从另一个 servlet 中的会话范围内获取该值。 为了在会话范围内设置属性,我们使用了 HttpSession 接口的 setAttribute() 方法,为了获取属性,我们使用了 getAttribute 方法。

index.html

FirstServlet.java

SecondServlet.java

web.xml