jsp怎么实现关闭网页自动退出登录状态???

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:42:41

这个只要判断页面的状态,如果是关闭,直接销毁session即可。

  在默认情况下,session对象在关闭浏览器后并不是立刻被销毁,因此,为了考虑系统的安全性,在用户退出时,需要即刻清除session对象,防止他人盗用session对象中的信息。
  清除session对象内容的主要方法如下:
  (1)、removeAttribute()方法。该方法是用来删除session对象中保存的指定属性信息。
  例如:session.setAttribute("name", "iverson");session.removeAttribute("name");
  (2)、invalidate()方法。该方法可以清除session对象中的所有信息。
  例如:session.invalidate().
  通常情况下,关闭浏览器后,session信息需要等到session对象失效后才能清除,如果需要实现关闭浏览器后即可清除session信息,请尝试用以下方法。
  <body onbeforeunload="window.location='logout.jsp'">
  logout.jsp页面中,可以这么做:<% HttpSession session = request.getSession(); session.invalidate(); %>
  现如今,基于MVC架构模式的框架,很多。所以,上述代码,根据所选的MVC框架不同,直接与jsp页面进行分离。

代码我这里不说了,大概的思路给你说下,估计你看了就差不多明白了!
你问的这个问题,对jsp而言几乎不是问题,你在登陆前可以把用户的登录信息放在session中,这样用户一旦登陆进来只要不“退出”,首先你得做“退出”也就是将session销毁,如果你没有做session的话,用户登录以后一旦关闭浏览器,即IE也就是你说的网页,session也将会自动销毁。另外,将登陆信息放在session中还有其他好处,比如可以控制有效时间,可以在web.xml文件中进行