java - session 被破坏后如何​​更新数据库?

标签 java session jakarta-ee servlets servlet-listeners

在我的网站中,当用户打开主页时,我会创建一个 session 。现在,如果他将一些商品添加到购物车中,商品将保存在数据库表中,其中 session id 和商品 id 作为一列。现在,如果有人关闭浏览器,则具有这些 session ID 的项目应该被删除。如果我使用 sessionDestroyed() 方法,那么如何获取被销毁的 session 的 session ID?因为我必须有 session ID 才能从表中删除项目。我可以在监听器类中导入 HttpServletRequest 吗?

最佳答案

HttpSessionListener接口(interface)提供方法

public void sessionDestroyed(HttpSessionEvent sessionEvent)

这使您可以访问 HttpSessionEvent带有方法的对象

public HttpSession getSession()

那个

Return the session that changed.

通过 session ,您可以调用 getId()并使用返回的 ID 从数据库中删除行。

关于java - session 被破坏后如何​​更新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721838/

相关文章:

node.js - 在 express.js 中使所有单个用户的 session 无效

php - 无法在 php session 中传递 mysqli 连接

java - 无法获取静态字段的值

java - Bean 验证和 JAX-WS

Java 编程帮助 - 抛出和捕获异常

java - 将组件粘贴到 JScrollPane 上

java - Tomcat 中的共享 JNI 库 (.so) - UnsatisfiedLinkError

oracle - sqlplus卡在删除查询

java - 在JAVA程序中添加两个或多个嵌套for循环

java - 使用 jcmFIPS jar 部署在 JBoss 上