按下IE JSP上的“后退”按钮时使会话无效

按下IE JSP上的“后退”按钮时使会话无效,jsp,session,servlets,Jsp,Session,Servlets,我正在开发一个web应用程序,其中我使用了会话管理来存储一些值 我要寻找的是,在用户通过提供用户名和密码登录到应用程序后,他/她将出现在主页上,但在任何时候,如果用户关闭浏览器窗口或按下后退按钮,会话将失效,用户不应再次获得主页 我使用servlet作为登录控制器(jsp)和2个jsp页面,第一个登录页面,第二个主页 对于超时,我使用web.xml的功能 按下IE JSP上的“后退”按钮时使会话无效 其他浏览器呢?世界上有比IE更多的浏览器 无论如何,你在解决“问题”上走错了方向。从技术上讲,当

我正在开发一个web应用程序,其中我使用了会话管理来存储一些值

我要寻找的是,在用户通过提供用户名和密码登录到应用程序后,他/她将出现在主页上,但在任何时候,如果用户关闭浏览器窗口或按下后退按钮,会话将失效,用户不应再次获得主页

我使用servlet作为登录控制器(jsp)和2个jsp页面,第一个登录页面,第二个主页

对于超时,我使用web.xml的
功能

按下IE JSP上的“后退”按钮时使会话无效

其他浏览器呢?世界上有比IE更多的浏览器

无论如何,你在解决“问题”上走错了方向。从技术上讲,当用户按下后退按钮时,使会话无效是不可靠的。此外,我不确定你通常是如何在网上浏览的,但我很确定,按下后退按钮使会话无效会让普通的网页访问者大吃一惊

如果您的具体问题是希望阻止最终用户在按下“上一步”按钮后查看需要登录的受限页面,那么您只需告诉浏览器不要缓存这些页面。这里详细回答了这一点:


至于在用户实际关闭浏览器时使会话无效,这在技术上也不可靠。常用的方法是保持会话超时相对较短,例如1分钟,并引入ajax轮询,每55秒左右向服务器发送一个请求以保持会话活动。这里有详细的回答:

后退按钮是浏览器中使用最多的按钮。你想挫败你的用户并让他们离开吗?嗨,我没有任何个人意图,这是对更好的安全性的要求。看看这个:你是在写3270系统的前端还是什么?这听起来像是地狱般的用户体验。谢谢BalusC,我的意思是说,就像在银行应用程序中一样,如果登录后我们手动关闭浏览器并再次键入url,它将显示您的会话已过期。如何实现这些功能?这只是在关闭浏览器时的默认设置。所有浏览器会话都将过期。服务器只是以通常的方式检查登录用户在会话中的存在。您好,BalusC,但是服务器将如何收到用户是否已关闭浏览器的通知?在上面的例子中,我做了与您编写的相同的操作来创建一个筛选器类,因此当我按下后退按钮并再次明确转发时,它不会登录到主页,但会显示:-网页已过期•此网页的本地副本已过期,网站要求您再次下载它。。。。我可以给我的登录页面或链接到登录页面而不是这个页面吗?正如所说的,这是不可能的。您所能做的只是挂接服务器端的会话。例如,当会话超时并被销毁时。在上面的示例中,我做了与您编写的相同的操作来创建一个筛选器类,因此当我按下后退按钮并再次明确转发时,它不会登录到主页,但会显示:-网页已过期•此网页的本地副本已过期,网站要求你再次下载。。。。我可以给我的登录页面或登录页面的链接而不是这个页面吗?