【发布时间】:2011-07-05 08:25:00
【问题描述】:
只是一个简单的问题。登录时,我将每个用户都放入数据库,因为有一次只有一个用户可以使用相同的用户名和密码登录。如果该用户已经在数据库中,我不会让用户进入。当用户注销时,我会清除 dB 表并使 Servlet 中的会话无效。 现在,如果用户忘记注销,会话显然会在例如过期。 20分钟左右 在 web.xml 我创建了这个:
<listener>
<listener-class>com.servlets.dbclean</listener-class>
</listener>
这个 dbclean 类然后实现 HttpSessionListener 并在 sessionDestroyed 方法上清理数据库。
我的问题:仅在此处进行此数据库清理是否足够,因为当用户手动注销时,会话将失效并且将调用此方法,或者我应该在/doLogout Servlet 清理数据库并依赖此用户忘记注销时的监听器?那么只使用这个监听器是一种保存方式吗?
【问题讨论】:
标签: session servlets session-timeout