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