在页面代码中使用window.open方法打开一个新页面,在新页面中有可能发生session丢失的现象。究其原因,是因为使用window.open方法将打开另外一个IE 的进程,因此session的丢失就不足为奇了。

在好多应用中(例如用户在登录页面验证成功后转向一个新的页面),我们必须使用window.open方法来打开一个新的页面,来屏蔽浏览器的toolbar,menubar什么的。所以我们需要使用一种变通的方法,让我们既能够使用window.open方法,同时在打开来的新页面中能够使用session,这时我们可以考虑使用application这个存储应用全局变量的容器。

对于本例(例如用户在登录页面验证成功后转向一个新的页面),我们可以在登录页面验证成功后,把系统需要使用的session保存在Application中,同时对key 和 session的值进行加密(如果对安全没有什么要求的话就不需加密),在window.open方法打开的新页面中,获取存储在Application中的变量拿出来,解密后重新赋予到session中,这样就不会出现session丢失的现象了,同时要注意把些变量从Application中remove掉,要不然会累积N多相同的变量保存在内存中的。

尽管如此,我们最好不要使用javascript脚本来重定向页面,以避免出现一系列不可预测的问题。

转载于:https://www.cnblogs.com/leodrain/archive/2008/05/16/session-may-be-lost-when-use-window-open-method-to-open-a-window.html

session may be lost when use window.open to open a new window相关推荐

  1. 阿里云服务器 window server tomcat启动 并且关闭window防火墙 配置8080端口开放还是没用

    阿里云windows server  服务器开放端口 1.远程服务器关闭windows防火墙   不需要开放端口 2.阿里云管理平台开放指定的端口  如8081 阿里云服务器   window ser ...

  2. window.open打开页面并传值,window. location.search遍历获取到的请求链接中的所有参数

    window.open打开页面并传值,遍历 window.location.search取到的url参数 1.a.js中打开OtherBankProtocol.html页面 window.open打开 ...

  3. [19]Window管理框架WMF(Window Management Framework) 5.0 VS Window管理框架WMF(Window Management Framework) 5.1

    最近笔者在研究PowerShell DSC, 我们知道PowerShell DSC是PowerShell的一部分,而PowerShell又是WMF(Window Management Framewor ...

  4. window 10 专业版激活 及去掉 window defender

    window 10 专业版激活 及去掉 window defender #转载自:https://blog.csdn.net/wuhualong1314/article/details/7989204 ...

  5. linux x window system下载,linux的x window system

    为什么叫x window system:因为就英文字母来看,x是在w的后面. 当时在开发x window system的时候,就希望这个窗口界面不要与硬件有强烈的相关性,不然就等于是一个操作系统了,因 ...

  6. window点location(仅介绍window点location对象,不介绍属性,因标题不能含有非法字符,.用点来代替)

    文章目录 1.前言: 2.window.location介绍 3.做CTF题时遇到的代码 4.总结 1.前言: 这个是我做CG-CTF-Web-单身二十年时遇到的,这里就该题简单总结一下 2.wind ...

  7. 计算机一级考试试题window,全国计算机等级考试一级Window复习题及答案.doc

    全国计算机等级考试一级Window复习题及答案 全国计算机等级考试一级Window复习题(18)在Windows中,排列桌面项目图标的第一步操作是A) 按鼠标右键单击任务栏空白区??? B) 按鼠标右 ...

  8. window部署python项目_Django在Window下的部署

    转载 : codingsoho.com 前言 本文主要介绍利用apache去部署Django项目,所有步骤均在本机Window7和阿里云验证通过. 配置 本例的基本配置如下: 工作目录: C:/vir ...

  9. JS-打开新窗口(window.open)/关闭窗口(window.close)

    打开新窗口(window.open) open() 方法可以查找一个已经存在或者新建的浏览器窗口. 语法: window.open([URL], [窗口名称], [参数字符串]) 参考说明: URL: ...

最新文章

  1. HBase解决Region Server Compact过程占用大量网络出口带宽的问题
  2. 基于标记的AR的OpenCV实现
  3. 剑指 Offer 05. 替换空格 简单
  4. hdu 4417 划分树
  5. Apache Karaf配置远程调试
  6. 《软件工程》individual project开发小记(一)
  7. 神经网络入门概念和框架理解(YOLOv1v2v3改进分析)
  8. Mac OS X 11中的/usr/bin 的“Operation not permitted”
  9. 为opencv添加contrib库
  10. 软件性能测试——负载测试的最佳实践
  11. JAVA学习网站收集
  12. 数据结构实验1-线性表的顺序实现
  13. java调用企业微信接口给微信发消息
  14. ollydebug 调试上手基础
  15. 计算机链接局域网,window7连接局域网的方法
  16. 七夕送什么蓝牙耳机?时尚好用的蓝牙耳机推荐
  17. AIX 上总有一种压缩方式适合你
  18. 2022/11/21-11/26周报
  19. KVM和Xen的区别
  20. win11更新后,edge浏览器闪屏掉帧

热门文章

  1. C语言 —— sprintf()函数
  2. bug之bootstrap switch Uncaught TypeError: Cannot read property 'apply' of undefined
  3. cmake 学习笔记(三) (转)
  4. html网页访问WebAPI中的方法遇到的问题
  5. 关于40位MD5加密的破解
  6. 通过VMware vsphere搭建集群
  7. dos下 和 批处理中的 for 语句的基本用法
  8. 触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!
  9. Netty实现自定义协议
  10. Java 实现 HTTP 请求的三种方式