当前位置: 代码迷 >> Java Web开发 >> 如何实现用户退出功能,退出后按浏览器后退按钮,返回的是用户登录界面
  详细解决方案

如何实现用户退出功能,退出后按浏览器后退按钮,返回的是用户登录界面

热度:10453   发布时间:2013-02-25 21:16:17.0
怎么实现用户退出功能,退出后按浏览器后退按钮,返回的是用户登录界面
我登录功能是用strut1+spring做的,
<table>

  <tr><td>用户名</td><td><html:text name="vmtaForm" property="perEmail" value="请输入注册邮 style="color:#999999" onclick="if(value==defaultValue){value='';}" onblur="if(!value){value=defaultValue;}"/>
  </td></tr>
  <tr><td>密码</td><td><input id="txt" type="text" value="请输入密码" style="color:#999999"/>  
  <html:password name="vmtaForm" property="pwd" style="display:none;color:#CCC;"/>  
  
  </td></tr>
  <tr><td><html:submit value="提交"/></td><td></td></tr>
</table>
用户名和密码都是直接用form属性传递的,很容易就实现登录功能了,现在我想实现,用户退出功能,但退出后按浏览器回退又会到原来的界面,我在验证用户名和密码的action里
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", 0);
加了个这个,回退提示页面已经过期,但是刷新页面又会回到登录成功的界面,有没有方法可以实现退出后再按浏览器回退键都是返回登录画面的

------解决方案--------------------------------------------------------
点浏览器上的回退,到原来的画面是正常的,
可你要是用session判断,
就算退到原来的页面,画面应该不能操作了吧,
一操作就可以根据有无session存在来迁移到登录画面。
------解决方案--------------------------------------------------------
看下我的博客中关于session注销的问题就解决了,可以增加一个按钮,作为退出按钮,点击时触发一个事件,在事件里把session注销,这样再返回时就重定向到登录界面了,那篇博客中有具体代码,这里就不贴代码了
------解决方案--------------------------------------------------------
你采用浏览器的后退按钮是会调取缓存数据。你设置了没有缓存那就是过期。
你试试这个思路:

页面上放一个JS,来判断是否处于登录状态,如果不是登录状态的话,将页面转向到登录页面。
------解决方案--------------------------------------------------------
点击注销,进入action清空Session,跳转到login.jsp
Clear.Session();
------解决方案--------------------------------------------------------
浏览器的后退退回到原来的页面是正常的,如果你不想要原来的页面,可用ajax实现提交,还有在每个提交的action都判断一下当前session是否失效,来决定跳转与否
------解决方案--------------------------------------------------------
解决了吗?
------解决方案--------------------------------------------------------
登录成功后的页面,可以判断session是否有效,无效就返回login.jsp 
点击注销 就在action里面 session.invalidate();
然后跳转jsp页面
------解决方案--------------------------------------------------------
不是的,只有自己存进session,才会在存在session中的
------解决方案--------------------------------------------------------
session.clear();
------解决方案--------------------------------------------------------
我感觉,你也可以,点击推出后直接进入登录界面,后者推出后关闭浏览器
------解决方案--------------------------------------------------------
注销session
然后做一个过滤器 当session为空的情况下自动跳转登录页面
------解决方案--------------------------------------------------------
探讨

引用:
我感觉,你也可以,点击推出后直接进入登录界面,后者推出后关闭浏览器

点击退出后走的是退出的action是forward到登录画面的,但是有一个问题就是用户可以点击浏览器的回退按钮,又回到了第一次登录成功的画面,做不出像CSDN这种一旦点注销,就算你回退也是回到登录画面

------解决方案--------------------------------------------------------
探讨

引用:
引用:

引用:
我感觉,你也可以,点击推出后直接进入登录界面,后者推出后关闭浏览器

点击退出后走的是退出的action是forward到登录画面的,但是有一个问题就是用户可以点击浏览器的回退按钮,又回到了第一次登录成功的画面,做不出像CSDN这种一旦点注销,就算你回退也是回到登录画面


你做一个过滤器呢?
……

------解决方案--------------------------------------------------------
session清楚直接跳转到EXIT页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon Dec 10 21:38:34 CST 2018
  • 最近登录:Mon Dec 10 21:38:34 CST 2018
  • 最近登录:Mon Dec 10 21:38:34 CST 2018
  • 最近登录:Mon Dec 10 21:38:34 CST 2018
  • 最近登录:Mon Dec 10 21:38:34 CST 2018