当前位置: 首页 > 面试题库 >

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

王凯旋
2023-03-14
问题内容

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

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

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

我尝试使用以下内容:

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

问题答案:

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

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



 类似资料:
  • 问题内容: 遵循我们在如何在MySQL中关闭sqlalchemy连接中的注释之后,我正在检查SQLAlchemy创建到数据库中的连接,如果不退出Python,我将无法关闭它们。 如果我在python控制台中运行此代码,它将保持会话打开状态,直到我退出python为止: 我发现要关闭它的唯一解决方法是在最后调用。 根据我上面给出的链接中的评论,我的问题现在是: 为什么需要关闭会议? 还不够吗 问题答

  • 我对Java还很陌生,我试着查了一下,但没有找到任何有用的东西。我想知道我怎么能检测到一个特定的窗口关闭了?我一直在使用windowClosing(),但这适用于关闭的任何窗口,因此如果窗口B关闭,我希望由于窗口a关闭而发生的事件也会发生。我如何只在窗口A关闭的情况下进行检测?抱歉,如果这是一个糟糕的措辞,我不知道那么多Java术语。提前致谢:)

  • 问题内容: 我正在研究Java RMI。我在端口2028上运行rmiregistry几乎没有问题,因为我已经使用它运行了我的测试程序。我可以使用其他端口运行程序,但我想知道,如何关闭在特定端口上运行的rmiregistry? 问题答案: 如果您想在编程中做到这一点,我们可以做以下事情: 这是我们的JMXServer类的完整代码。我们在创建其中两个并完全注销它们时遇到了问题,因此我们确保在不同的端口

  • 我正在使用spring 4+Websockets+Stomp JS库。我找不到任何方法来设置websocket ping/pong机制(心跳)。 null 因此,我正在实现自己的乒乓消息机制。 这里的任务之一-实现服务器端关闭websocket,以防在超过10秒的时间内没有来自客户端的ping消息。 使用spring WebSockets是没有办法做到这一点的! 也许有人能告诉我如何通过sprin

  • 问题内容: 我有一个 包含特定日期和时间 的 文本文件。 我希望能够 在该文件中指定的时间运行脚本。 您将如何实现?创建另一个在后台运行的脚本(有点像守护进程),并每秒检查当前时间是否与文件中的时间匹配?还有另一种方法吗?该机是 linux服务器,Debian wheezy。提前致谢 问题答案: 请看以下内容: 该代码行在特定时间执行“ ls -l”。这是在特定时间执行某些操作(在我的示例中为命令

  • 我正在编写我的系统编程课程作业(使用线程)。 我的活动类实现runnable,我还有另一个类,其中有一个执行器,它使用:

  • 如何从数组中只得到没有课程名称的分数: 这是我的测试课 这是我的分级课 现在,如果我调用一个方法:gradeList.getAllGrades(),它给我:[Physics 10,LT 4,Math 7],我需要的是:10,4,7

  • 我正在使用ActiveMQ对电子邮件进行排队,消费者读取队列并发送电子邮件。 在启动时,我注册一个生产者,并永远缓存它。 有时,当连接关闭时,生产者无法将消息加入队列。 有人能告诉我处理闭门会议的最佳方式吗?我应该重新注册我的制作人吗?还是有办法重开会话?