一尘不染

如何在Java EE中关闭特定会话

jsp

如果我打开了多个会话,如何关闭特定的会话,如下所示:

String userName = (String) session.getAttribute("userName");
HashMap cartList = (HashMap) session.getAttribute("cartList");

如果我想关闭cartList会话,应该使用什么代码?

我尝试使用以下内容:

  1. session.invalidate() 但它关闭了所有内容。
  2. session.removeAttribute("cartList"); 它没有关闭我的会话。

阅读 249

收藏
2020-06-10

共1个答案

一尘不染

每个访客您没有几个会议。每个访问者只有一个会话。您只是在其中存储属性。“关闭”会话是通过invalidate()方法进行的。它破坏了整个会话并取消了所有属性的绑定。下一个HTTP请求将导致一个新的会话。

您似乎只想取消购物车的绑定。该removeAttribute("name")方法是正确的做法。它会从会话删除属性,使其通过的不可访问getAttribute("name")${name}不再在当前的响应和所有后续请求/响应。它显然没有用,很可能只是您的误解。

2020-06-10