jsp页面获取session的问题

我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.

奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.

帮我看看这是怎么回事?
回答者:匿名 2009-9-10 00:07:
1.并非cookie禁用
用IE6,火狐试过

测试另一个程序,是指2个不同的程序

2.在存session那行前面写一个取session的代码,刷新页面的时候值为null

在存session那行后面写一个取session的代码,未刷新前可以取出来值且不为null

session是在服务器端的,
cookie是在客户端的
1、问一下楼主使用的服务器是什么,tomcat?,版本多少,我看了一下,session跟服务器的维护机制有关
2、在jsp页面上有一个属性session,它默认是true,看看楼主是不是把它设置成了false,这个属性是指此页面使用不使用session,如果置为false那么就有可能产生楼主的问题

问题补充回答:
请问楼主是否设置了
response.setDateHeader("Expires",0);
这样设置可能会是session过期
你去掉试一试
如果没有的话
希望能把代码给我看一下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-16
Jsp中获取Session的方法:
session是jsp的内置对象,所以可以直接写在jsp的
<%
//把b放到session里,命名为a
session.setAttribute("a", b);
//从session里把a拿出来,并赋值给M
String M = session.getAttribute(“a”).toString();
%>本回答被网友采纳
第2个回答  2015-10-08
JSTL标签获取Session:

[java] view plaincopyprint?
session.setAttribute("age","123");
${ sessionScope.age} 在页面上显示的就是123了

sessionScope指的是session的范围,类似还有requestScope,pageScope,contextScope
然后后面的age表示的是set属性时的key值

Jsp中获取Session:

[java] view plaincopyprint?
session是jsp的内置对象,所以你可以直接写在jsp的
<%
session.setAttribute("a", b); //把b放到session里,命名为a,
String M = session.getAttribute(“a”).toString(); //从session里把a拿出来,并赋值给M
%>
第3个回答  2009-09-12
TO godcomexxx : session默认是由cookie是实现的,在TomCat中,如果cookie被禁用,可以手动编程jsession到URL后面实现session。

在存session那行后面写一个取session的代码,未刷新前可以取出来值且不为null;也就是说你第一次提交页面的时候存进去session了;可是你又说在存session那行前面写一个取session的代码,刷新页面的时候值为null,也就是说session中存的值不见了,又或者session根本没有生效。这就可能是你的session被你禁用了,或者客户端的cookie根本没有生效。

呃,然后,我呃掉了。。。
第4个回答  2009-09-10
session只对同一个窗口或是存在父子关系的窗口中有效,如果你开一个窗口,以及该窗口的子窗口都可以显示出来。但如果关了再重新打开后,上次的session就和这次的session没什么关系了.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网