如果存在会话超时,则从数据库中删除java

如果存在会话超时,则从数据库中删除java,java,session,servlets,Java,Session,Servlets,我需要能够在会话超时时自动注销我的用户,方法是删除表中的记录,在该表中,用户每次登录时都会输入详细信息,并在注销过程中删除这些记录。有没有一种不用用户交互就能自动完成的方法 大概是这样的: HttpSession session = request.getSession(false); LogoutBean lgub = new LogoutBean(); LogoutDao lgud = new LogoutDao(); if(session =

我需要能够在会话超时时自动注销我的用户,方法是删除表中的记录,在该表中,用户每次登录时都会输入详细信息,并在注销过程中删除这些记录。有没有一种不用用户交互就能自动完成的方法

大概是这样的:

HttpSession session = request.getSession(false);
        LogoutBean lgub = new LogoutBean();
        LogoutDao lgud = new LogoutDao();
        if(session == null){
            lgud.logoutUser(lgub);
        }
我应该将代码放在哪里,以便在出现会话超时时,用户可以注销?

使用

但是请注意,当会话超时时,不能保证立即发生这种情况。以后任何时候都可能发生。这取决于某个预定的servlet容器线程

您可以使用Servlet3.0
@WebListener
或在
web.xml
中将侦听器声明为

<listener>
    <listener-class>your.domain.listeners.LogoutListener</listener-class>
</listener>

您的.domain.listeners.LogoutListener
使用

但是请注意,当会话超时时,不能保证立即发生这种情况。以后任何时候都可能发生。这取决于某个预定的servlet容器线程

您可以使用Servlet3.0
@WebListener
或在
web.xml
中将侦听器声明为

<listener>
    <listener-class>your.domain.listeners.LogoutListener</listener-class>
</listener>

您的.domain.listeners.LogoutListener