站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题大家帮忙啊,,session生存期的问题,,

大家帮忙啊,,session生存期的问题,,

摘要: 大家帮忙啊,,session生存期的问题,,


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"

errorPage="" %>
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<head>

无标题文档
</head>

<body>


<%
session.setAttribute("test","ok");
%>


&nbsp;


这个链接肯定有效


&nbsp;


这个链接肯定无效



<%
out.println("
"+session.getAttribute("test"));
%>
</body>


a.jsp


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"

errorPage="" %>
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<head>

无标题文档
</head>

<body>
<%
String test=(String)session.getAttribute("test");
if (test!=null)
{
out.print("取到了");
out.println(test);
}
else
{
out.print("取不到了");
out.println(test);
}
%>
</body>



b.jsp为什么第二个链接有_blank就取不到session呢,为什么,怎么办才能取到,感谢


发现一个怪问题呀,,

我使用eclipse布属并启动tomcat时可以找到,,,


但单纯的使用tomcat启动就是找不到,是不是eclipse加入什么启动参数了,晕


第二个实际上是一个新的会话,所以取不到值


感谢楼上,,我也是怪事了,,

但我以前的一个例子就能取得到,不知道是怎么回事,,见鬼了,,大家帮帮忙,是怎么回事


huihui0103(
对您的回答有质疑,,,CSDN的显示贴子也是新弹出一个IE,,为什么能取到。


你什么浏览器?
IE下没问题啊


session这个东西跟浏览器有关系的


我IE6,,,

huihui0103您测试了吗,,结果是什么?


我测试了啊。。IE6没问题啊,你取不到?


你二个链接都能取到???

会会请讲清楚一些啊


都能取到的


我晕,我的为什么不能



你这个问题跟浏览器有关:

FireFox无论你怎么打开窗口,都共用同一个session
IE的话,则有些不同


你TOMCAT什么版本的


感谢yown(yong),,ie怎么办才能共用一个session我现在是有时有,有时没有,给我弄晕了,因为是一个社区的登陆功能,,所有打开的子功能都要判断登陆没有登陆,这一时有一时没有,可咋整呀,555555555555555555555555


这个跟tomcat 没关系吧



那和什么有关系啊,,大家帮忙啊,,


感觉是你电脑的ie设置有问题,正常应该都可以的,有没有换个电脑试一下?


up,,


顶。


你把连接的target="_blank"这个属性去掉 如果不行就把第一个连接复制到第个地方看看能不能取到如果还是不行 就设置session的范围 在不行那就不代码重新打下 还不行 那我就没办法了


补充一下还可以设置session的时间 一般默认是20分钟
方法
Session.Timeout=分钟
例如:<%Session.Timeout=30%>,


测试可以取道值,是不是你别的地方也定义了一个session重名了
仔细检查下啊


顶一下


先排除是否是客户端的问题,再检查服务的问题。
客户端:
检查一下你的ie的安全设置。
把安全级别调低了,同时不要禁用cookie。
(我记不得是哪一个了,只好都作了,如果你想确定是哪一个,可以分别是一下)

客户端和服务端的session 对应关系是依靠报文中的sessionid来关联起来的。
原理大致如下:

b端 post 一个请求,该请求在开始是空的,或者如果你刚浏览完别的web的话,他post过去的是
刚才的web的sessionid.

s端接受到的请求中如果有sessionid就根据它定位到那个session。如果找不到session(也许可能是session失效了)或者没有sessionid的话,s端创建一个session,并将sessionid返回给b端。
如果b端的sessionid是正确的话,s端不会把sessionid返回去。

b端获取请求的回应报里面如带有sessionid. b端会根据安全策略是否保存sessionid,
如果安全设置最高的话,sessionid在post的时候就没有写进去,不知道是没有保存还是没有上送,但不管是哪个,看起来session失效了。

b端开新的窗口,sessionid也会穿过去的。

如果你有sniffer的话,可以抓一下http报文看看,验证一下。

如果是服务端的问题的话,就不太清楚了,具体问题具体分析。我对具体的服务器不熟悉。











↑返回目录
前一篇: FCKeditor,FCKeditor,FCKeditor,大家帮帮忙啊,我把网站上传了,,但服务商不是使用的是tomcat虚拟目录的概念,是使用。。。。。
后一篇: 请教怎么取得客户端来访的IP地址呀,我的情况比较特殊