如何在用户关闭浏览器时从数据库中删除数据

时间:2013-09-06 05:44:37

标签: servlets httpsession

我是编程

的新手

我在网上搜索了很多但是没有人能满足我的要求。当我关闭浏览器窗口时,我想要从数据库中减去数据。

我在堆栈溢出中找到了一个解决方案

public class YourHttpSessionListener implements HttpSessionListener {       
public void sessionCreated(HttpSessionEvent event) {
//put row in the database
}

public void sessionDestroyed(HttpSessionEvent event) {
 //delete the row from database  
 System.out.println("entered in to listener class");   
}
}  

我在web.xml中添加这些行

<listener>
<listener-class>YourHttpSessionListener</listener-class>
</listener>

这里我不使用任何ajax调用或其他。但是这里关闭浏览器时不调用sessionDestroyed()。这里我没有创建任何会话。

2 个答案:

答案 0 :(得分:1)

最终,你不能。更好的选择是编写一个在用户不活动一段时间后删除数据的进程。

答案 1 :(得分:1)

你问的是错误的问题。最终的问题应该是:为什么要将临时数据存储在数据库中?当然,您可以通过不在数据库中存储任何内容但将其保存在内存中的方式来执行此操作