用户登录会话ID,用户名和时间戳后,我便拥有了Web应用程序。

但是,当浏览器崩溃或会话被终止时,Db中的条目仍然保留。那么,如何在数据库中删除该条目?

最佳答案

您将必须定义一个HttpSessionListener

<listener>
     <listener-class>mypackage.MySessionListener</listener-class>
</listener>


每当创建和销毁会话时,都会调用侦听器代码。

package mypackage;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Date;


public class MyHttpSessionListener implements HttpSessionListener
{
    public void sessionCreated(HttpSessionEvent se)
    {
           // DO CREATION LOGIC
    }

    public void sessionDestroyed(HttpSessionEvent se)
    {

             HttpSession session = se.getSession();
           // PERFORM DELETION LOGIC
    }
}


您的侦听器类必须实现HttpSessionListener接口。休息是不言自明的。

关于java - session 被杀死后,如何从数据库中删除与 session 相关的信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6040294/

10-11 01:14