Jsp 实现注销功能
我正在做最后一年的项目,这是一个基于web的应用程序。我想在那个项目中实现注销功能。但我不知道怎么做。此外,我还想实现自动注销功能,即在特定时间段后,例如20分钟后,如果用户在此期间未执行任何操作,则会自动注销。应向用户显示一条消息“对不起,您的会话已过期,请重新登录”。怎么做 您如何处理登录和会话?如果它像会话cookie一样简单,您只需终止/删除cookie即可注销您可以使用servlet中的Jsp 实现注销功能,jsp,servlets,Jsp,Servlets,我正在做最后一年的项目,这是一个基于web的应用程序。我想在那个项目中实现注销功能。但我不知道怎么做。此外,我还想实现自动注销功能,即在特定时间段后,例如20分钟后,如果用户在此期间未执行任何操作,则会自动注销。应向用户显示一条消息“对不起,您的会话已过期,请重新登录”。怎么做 您如何处理登录和会话?如果它像会话cookie一样简单,您只需终止/删除cookie即可注销您可以使用servlet中的session.invalidate()(或response.getSession().invali
session.invalidate()
(或response.getSession().invalidate()
)注销
如果使用cookie,您将不得不调用response.addCookie(..)
,使用寿命为负的cookie
通过设置会话超时可以实现自动注销。在web.xml中
<session-config>
<session-timeout>20</session-timeout>
</session-config>
20
我在CMS上执行此操作的方法是在页面加载时启动设置超时。这将在20分钟后将用户重定向到清除会话的页面,从而注销用户。不幸的是,这有一个副作用,即当用户打开多个窗口时,有时一个窗口可以在用户处于活动状态之前达到超时时间。这会导致会话过早超时,并中断流
绕过此警告的一种方法是为用户执行的每个操作(即创建内容项、上载图像)保留活动ID。此活动ID保存在用户表中,超时计时器(Javascript)可以根据此ID检查超时的窗口是否是最近的活动窗口。如果该窗口中的ID(例如从PHP变量传递到HTML输出)不匹配,则不会强制会话超时
这是一个非常棘手的方法,不需要对界面进行破坏性的更改。如何注销取决于您的登录方式。您还应该详细介绍一下登录。