`
codsoul
  • 浏览: 212879 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

(转)ie8和火狐 session

阅读更多
问题描述:
   
  ie8和火狐都可以选项卡的形式打开网页,以前ie6开多个窗口,在任务管理器中会出现多个explore.exe的进程,但是火狐不会。以前还认为这样很还,因为它可以减少我们电脑的压力,达到一定的选项卡数量后才又开启一个进程,就是说当我打开多个网页的时候它的会话也是共用的。

  比如我现在在ie6上,打开一个登录页面,登录A人员信息。此时我再打开一个ie6的浏览器打开同样的登录页面,登录B人员信息,ie6能达到预期效果,让A,B同时在线。

  现在我用ie8按照上面的步骤操作,当我打开B页面时,我再刷新A页面,A页面的信息变成了B页面人员的信息。因为ie8和火狐一样它会session共享,会认为是在同一个session,第二次提交修改了session的值。

  那么现在要怎样解决ie8这个session失效的问题呢?如何在ie8上也有ie6,ie7的效果呢?

找了些解决方法:
1:用户通过菜单 File > New session 打开新窗口,或者使用命令行参数 iexplore.exe -nomerge 来打开IE。
这样是基于浏览器解决,客户肯定是不懂的了,也不可能每个客户都去教。这很不现实。

2:SESSION key 不使用COOKIE传递 使用URL传递就可以做到
可以借鉴网易邮箱地址栏参数  

url传递sessionid这个倒是可以一试,不过不知道具体应该如何做?
而且我发现,其实我们跳转的时候好像地址栏后面是会自动跟着sid=XXXXXXXXXXXXXXXXX的。
http://localhost:9091/hotel_manage/loginUser.htm;jsessionid=D9273B75DB10E9BA5D88B87A7ED04F29

请教各位,这第二种方案适用url传递如何做?


参考资料:

我们可以使用url转发的方式,在客户端cookie被禁用的时候,把服务器端发送过来的JSESSIONID用下面的方式保存在url里

http://localhost:8989/session1/session/testsession123.jsp;jsessionid=F1543A66EB5C7930D2CED3EFE3958BA1

注意这里的格式,中间有一个分号

有两种获得url转发的方法

方法1:

这个标签的作用是:把对应helloEncodeRul.jsp的页面,进行URL重写以后,把重写后的url放置到page中,这个时候,用"${pageScope.myurl }"就可以取到这个url重写后的url

<c:url var="urltest" scope="page" value="helloEncodeRul.jsp"></c:url>



<a href="${pageScope.myurl }">TestSession</a>

使用了整个标签以后,当前页面就会在第一次访问服务器的时候把服务器发送过来的JSESSIONID保存在url后面,用“;”分开,大概就是这个样子

;jsessionid=F1543A66EB5C7930D2CED3EFE3958BA1



方法2.

<a href="<%= response.encodeURL("testsession123.jsp") %>">TestSession</a><br>



一般情况下,推荐使用前一种方法。



当cookie被禁用以后,可以使用url重写的方式来获得客户端发送过来的JSESSIONID,整个时候整个JSESSIONID就会被保存在显示的拼接在url后面。
分享到:
评论

相关推荐

    java版 jquery uploadify 通过Flash实现多文件上传 IE 和FireFox 兼容

    之前上传了一个通过Flash实现多文件上传,但是在IE正常运行,当有后台过滤和鉴权时,FireFox 不能正常上传。经过反复研究学习,最终实现了IE 和FireFox 兼容问题。之所以在有后台鉴权时firefox和360浏览器无法正常...

    如何在IE中添加火狐浏览器的一些功能.docx

    标题中的“如何在IE中添加火狐浏览器的一些功能”指的是将Mozilla Firefox浏览器中深受用户喜爱的特定特性引入到Internet Explorer(IE)中,以便在继续使用IE时也能享受到类似的功能。以下是对描述和部分内容中提到...

    IE的cookie机制导致的session问题及解决办法.doc

    在使用JSP开发的Web应用中,开发者可能会遇到一个令人困惑的问题:当用户使用Firefox浏览器时,基于Session的单点登录(Single Sign-On, SSO)功能表现正常;然而,切换至IE6浏览器时,初始阶段一切正常,但进行几次...

    IFrame中Session丢失的解决办法

    不同浏览器对P3P、Cookies和IFrame的处理方式存在差异,如Firefox目前不完全支持P3P标准,而IE则严格遵守P3P策略。因此,在设计解决方案时,应考虑目标用户群体使用的浏览器类型,以确保兼容性和用户体验。 通过...

    java 转换 IE JESSIONID

    在Internet Explorer(IE)和非IE浏览器(如Chrome、Firefox)之间转换JSESSIONID时,需要注意以下几点: 1. **Cookie处理差异**: - IE和非IE浏览器对于cookie的处理可能存在差异,包括路径、域、过期时间等设置...

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    在开发讯息在线产品时,发现 IE 浏览器(v7/8)都无法登录(总是提示验证码不匹配错误),而其他浏览器无此问题(firefox、百度等)。因此可以断定这和浏览器脱不了干系。 初步分析:服务器端日志中显示 sessionId ...

    uploadify在Firefox下丢失session问题的解决方法

    本文将详细探讨一个特定的问题,即“uploadify在Firefox下丢失session问题的解决方法”,这是一个常见的前端上传插件与后端session管理不兼容的问题,特别是在使用JSP和Firefox浏览器时。 首先,了解session的基本...

    PHP100视频教程 32:PHP5中Cookie与 Session详解

    1、Cookie和Session简介与区别Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪Cookie是完全保持在客户端的如:IE firefox...

    一个很有用的Firefox和IE插件

    标题中的“一个很有用的Firefox和IE插件”指的是由支付宝UED团队的鸽子同学开发的一款跨浏览器的前端开发辅助工具。这款插件允许开发者快速编辑网页代码、创建Demo页面,以及有效地处理CSS Sprite,同时还能与...

    Selenium Webdriver使用已打开的浏览器

    它支持多种浏览器,如Chrome、Firefox、IE等,使得测试脚本可以在不同的浏览器环境下运行。标题"使用已打开的浏览器"提示我们将讨论如何利用Selenium与已启动的浏览器实例进行交互,而非每次都启动一个新的浏览器...

    FireFox 3.0 beta 推荐的扩展打包

    &lt;br&gt;进程清单 sessionpage 一国人制作的扩展,填补了该功能的空白,打开FF时仅仅载入一个上次浏览过的标签页清单,可以有选择的恢复,而不用载入所有未关闭的标签页。务必请关闭TMP进程管理,最好也不要启用FF内...

    ie与session丢失(新窗口cookie丢失)实测及解决方案

    今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session, 经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,... firefox不存在此情况. index.php 复

    session、cookie的跨域共享

    同时你可以通过ie、firefox去测试你对session、cookie的理解在此之前是否正确,可以简单告诉你session不是我们大都认为的在登录时候,通过request.getSession()产生的,而是你在首次访问一个应用时候,就已经产生了...

    cookies 查看器 ie friefox chrome

    标题中的“cookies 查看器 ie friefox chrome”指的是一个工具,它专为Internet Explorer(IE)、Firefox和Chrome这三种主流浏览器设计,用于查看、管理和操作用户的cookies数据。cookies是网站在用户计算机上存储的...

    PHP100视频教程 (三十二、PHP5中Cookie与 Session详解)

    Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用 2、Cookie的配置与应用 Setcookie(string name, string value, int expire,string path, string domain, int secure); (1)、必须在...

    flex 利用FileReference上传firefox报2038错误

    特别是在Firefox中,由于其与Flash Player之间的交互方式与其他浏览器(如IE)有所不同,因此可能导致会话管理出现问题,进而引发上传失败的情况。 #### 解决方案探讨 1. **避免使用`FileReference`**:最简单粗暴...

    PHP100视频教程 32:PHP5中Cookie与 Session详解.rar

    Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用 2、Cookie的配置与应用  Setcookie(string name, string value, int expire,string path, string domain, int secure);  (1)、...

    485火狐不能编辑

    标题“485火狐不能编辑”涉及到的问题是关于ShopEx电子商务系统在Firefox浏览器上的一个特定使用问题。ShopEx是一款在中国广泛应用的网店管理系统,帮助企业构建和管理在线商店。描述中的问题指出,在火狐浏览器...

Global site tag (gtag.js) - Google Analytics