javascript+Struts2解决退出清空session以后,点击后退按钮显示原页面信息的问题

Javascript代码:

function outLogon() {
    location.replace("outLogon");  //outLogon即是你所要转的退出登录的Action地址
}

Action代码(Struts2):

 //清空session
 ActionContext.getContext().getSession().clear();
  //使HttpSession失效
  ServletActionContext.getRequest().getSession().invalidate();
 

这样处理之后,点击浏览器的后退按钮,则出现的页面将不会再显示关于session中的信息。

如果Javascript中不用 location.replace(),那么,当你点击后退的时候依然会显示退出前用户的信息,这样就不符合期望。

原因就在于:使用location.replace()该方法通过指定URL替换当前缓存在历史里(客户端)的项目,

因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL

时间: 2024-12-29 09:12:43

javascript+Struts2解决退出清空session以后,点击后退按钮显示原页面信息的问题的相关文章

解决退出登录清空sesson后到首页点后退可以直接到会员信息页面依然需要刷新页面才到登录页面

解决办法为: (1) 用HTML标签设置HTTP头信息 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"><meta http-equiv="Expires" content="0"> 说明:HTTP头信息“

asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)

代码如下: Session.Abandon(); Response.Redirect("Login.aspx"); 但是这样点点击浏览器的后退仍然可以回到刚才的页面,这可不行,在网上找了一下,也有不少人遇到这样的问题,试了一些方法,都不管用.不过最后还是找到,共享一下. http://blog.csdn.net/lhypang2006/archive/2008/03/11/2170751.aspx 复制代码 代码如下: Session.Abandon(); Response.Write

解决 php的session无法保存到redis

解决 php的session无法保存到redis php的session写入redis配置vim /etc/php-fpm.d/www.conf user = nginx group = nginxphp_value[session.save_handler] = Redisphp_value[session.save_path] = 'tcp://192.168.1.2:6688'php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache v

清空session的方法

清空session的方法,常用来注销的时候清空所有的session. 方法一: Enumeration e=session.getAttributeNames(); while(e.hasMoreElements()){ String sessionName=(String)e.nextElement(); System.out.println("存在的session有:"+sessionName); session.removeAttribute(sessionName); } 方法

struts2获取request、session、application的四种方式

//获取map类型的request.session.application public class LoginAction1 extendsActionSupport { private Map request; private Map session; private Map application; publicLoginAction1() { request= (Map)ActionContext.getContext().get("request"); session= Ac

javascript之解决dom中存在的空白节点问题

下面有一段html文档 <body> <h1>Introduction to the DOM</h1> <p class="test">There are a number of reasons why the DOM is awesome, here are some:</p> <ul> <li id="everywhere">It can be found everywhere.

通过Global.asax文件里面的Session_End事件记录用户退出 (or session timeout)

Session.Abandon()和timeout会触发Global.asax的Session_End事件.可以通过这个事件来记录用户退出或者session timeout,这样每个用户都会有一条登陆和退出记录. 退出登陆调用方法: public void PerformLogout() { HttpContext.Current.Session["PerformLogout"] = true; HttpContext.Current.Session.Abandon(); } Sess

Session的使用(登录例案+其它页面访问)

本程序功能是使用Session将用户输入的用户名保存在Session中(登录成功情况下,登录失败不会有Session值),其它页面想访问时会先判断是否有之前存的Session值. 登录Login.htm页面: <head> <title></title> <script type="text/javascript"> //刷新验证码 function refreshYZM() { var imgYZM = document.getElem

解决Ubuntu 9.10中vim和gedit显示中文乱码

当你刚装完Ubuntu或者debian的时候,你会发现gedit和vim打开中文都会乱码,下面是解决方法 打开vim的配置文件,位置在/etc/vim/vimrc 在其中加入 set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc 保存退出,此时vim就能正确显示中文了. 对于gedit,解决方法如下: 在终端中运行 gconf-editor 在打开的界面中选择: apps->gedit