会话被破坏后如何​​更新数据库?

时间:2013-05-23 18:59:19

标签: java session java-ee servlets servlet-listeners

在我的网站中,我在用户打开主页时创建会话。现在,如果他将一些项目添加到购物车中,则项目将保存在具有会话ID和项目ID作为列的db表中。现在,如果有人关闭了他的浏览器,则应删除包含这些会话ID的项目。如果我使用sessionDestroyed()方法,那么如何获取被销毁的会话的会话ID?因为我必须有会话ID来删除表中的项目。我可以在侦听器类中导入HttpServletRequest吗?

1 个答案:

答案 0 :(得分:2)

HttpSessionListener接口提供方法

public void sessionDestroyed(HttpSessionEvent sessionEvent)

可让您使用方法

访问HttpSessionEvent对象
public HttpSession getSession()

  

返回更改的会话。

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