1

在我的登录工作中,我使用了一个身份验证 jsp 页面,我将最大非活动时间设置为 60,以防止从单个用户名进行多次登录。

status在数据库中创建了一个字段,因此当用户登录时,状态将处于活动状态,并且没有其他用户可以使用相同的用户名登录。

现在我的问题是当会话过期时如何在数据库中将状态设置为非活动状态。

为了更新状态非活动我做了

login=(String)session.getAttribute("login");

PreparedStatement pt = con.prepareStatement("update authentication set status='inactive' where username='"+login+"'");

因此,当会话过期时,登录将给出 null。请告诉我如何解决我的问题

4

1 回答 1

2

使用 HttpSessionActivationListener

     public void sessionDidActivate(HttpSessionEvent se) 

会话刚刚被激活的通知。

     public void sessionWillPassivate(HttpSessionEvent se) 

会话即将被钝化的通知。

或者

HttpSessionListener

     sessionCreated(HttpSessionEvent se) 

接收会话已创建的通知。

     sessionDestroyed(HttpSessionEvent se) 

接收会话即将失效的通知。

于 2013-05-03T05:58:44.193 回答