日期:2014-05-19  浏览次数:20686 次

这session为什么理论和实际不一致,求教...
sessionTester1:核心代码<%
session.setAttribute("name","Lebron");

out.print("往session中添加了一个属性name,值为Lebron");
%>
sessionTester2:核心代码<% 
String name=(String)session.getAttribute("name");

out.print("获得session中的属性name的值为:"+name);

%>
打开第一个浏览器,访问sessionTester1,然后通过双击浏览器的快捷方式重新打开一个新的浏览器进程,访问sessionTester2,为什么能取到在session中存放的Lebron?我明明是重新打开一个新的浏览器啊。。。求教。

------解决方案--------------------
Session共作原理没错的,将SessionID存储在会话cookie中(也就是浏览器中)用来跟踪用户会话数据。
如果你使用IE6.0的话是没问题的,即一个窗口只能维持一个会话。
但IE7.0以后好像做了改进,只要在本机上,所有IE共享同一个Session。这个好像没有太大影响吧