首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jdk5+tomcat5.5 session丢失解决方案

2012-01-11 
jdk5+tomcat5.5 session丢失%@pagelanguage java pageEncoding UTF-8 %htmlheadtitle/titl

jdk5+tomcat5.5 session丢失
<%@   page   language= "java "   pageEncoding= "UTF-8 "%>
<html>
    <head>
        <title> </title>

    </head>
   
    <body>
<%

if((String)session.getAttribute( "data ")   ==   "123 ");
{
System.out.println( "当前会话中的data的值是123 ");
}
else
{
session.setAttribute( "data ", "123 ");
System.out.println( "当前会话中为空,并且几设置data的值是123 ");
}
%>

    </body>
</html>


第一次打开结果是:
当前会话中为空,并且几设置data的值是123


如果刷新或按f5的话。
结果还是
当前会话中为空,并且几设置data的值是123


为什么。session的值为什么会丢了?


别人好象不会....是tomcat有问题吗?还是我的代码有问题?
哪位大吓懂得.....????

[解决办法]
(String)session.getAttribute( "data ") == "123 ";
字符串比较不能用相等,==比较的是是否同一对象.
改为(String)session.getAttribute( "data ").equals( "123 ");
[解决办法]
if( "123 ".equals((String)session.getAttribute( "data ")));
{
System.out.println( "当前会话中的data的值是123 ");
}
else
{
session.setAttribute( "data ", "123 ");
System.out.println( "当前会话中为空,并且几设置data的值是123 ");
}
[解决办法]
先研究equals和“==”的区别吧
基础是最重要的

热点排行