读书人

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

发布时间: 2012-01-11 22:28:46 作者: rapoo

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和“==”的区别吧
基础是最重要的

读书人网 >Java Web开发

热点推荐