java中有没有判断一个变量或者对象是否已经存在的方法???拜请大牛指点,很急..............

补充一下,我想判断一个session中是否存在变量IsLogin用来判断用户是否已经登录,如果用户没有登录,当用户做其他操作如访问受限制的内容时,就不让看。就是说不一定要求用户必须先登录,但是如果用户没有登录,访问受限制的内容就不让看,但其他不受限制的内容是可以看的。求指点啊..........,做毕业设计用的......我的QQ460310624

第1个回答  2012-02-21
集合里有这类的方法,比如map中看是否存在某个key或者object,list里也有。追问

我想判断一个session中是否存在变量IsLogin用来判断用户是否已经登录,请问用你的方法如何实现呢????

追答

哦,session中的缓存信息就就直接session.getAttribute("IsLogin")了。如果为null要么就是未登陆,要么就是已失效或者退出了。具体情况具体对待。^ ^

追问

不行啊,因为我之前没有用setgetAttribute(),所以如果用session.getAttribute("IsLogin")就会报错,java.lang.NullPointerException

追答

没有用setgetAttribute(),getAttribute("IsLogin")时也不该有空指针;是不是session是空的?

追问

session不是一直都存在的吗?
怎么会是空的啊

追答

先测试下。在session.getAttribute("IsLogin")之前打印下session看是不是空。不过看下边交流里看到一点,你是先session.getAttribute("IsLogin"),还是直接session.getAttribute("IsLogin").toStirng?

追问

session不为空

追答

取值的时候,你是用的哪种:
1、Object obj=session.getAttribute("IsLogin");
2、String obj=session.getAttribute("IsLogin").toStirng();

1的话是不会有异常出现的
2的话建议分开写:
Object obj=session.getAttribute("IsLogin");
String str = null;
if(obj!=null){
str = obj.toString();
}

本回答被提问者采纳
第2个回答  2012-02-21
如果是基本数据类型,如int没有办法,如果是对象很好办的
if obj == null --->如果为null,就是还没有分配内存,自然是不存在了追问

我想判断一个session中是否存在变量IsLogin用来判断用户是否已经登录

追答

session.getAttribute("IsLogin");//根据key值获取value值
如果返回为null,那就是不存在了

这种办法很危险的,很容易给人攻击的

追问

这个也不行啊,因为我之前没有用setgetAttribute(),所以如果用session.getAttribute("IsLogin")就会报错,java.lang.NullPointerException

追答

先判断下你的session为不为null,

找出nullPointerException得root cause,再考虑解决方案

追问

session不是一直都存在的吗?
怎么会是null呢??我现在只在一个jsp里敲入了
if(session.getAttribute("username").toString()==null)
{
out.print("not exist");
}else{
out.print("exist");
}
其他什么都没有

追答

问题出在这里估计
session.getAttribute("username").toString

session.getAttribute("username") = null;然后你相当于调用了null.toString();可能导致了问题

第3个回答  2012-02-21
isEmpty(),exits()是判断是否为空和是否存在的。追问

你这两个方法不行,我想判断一个session中是否存在变量IsLogin用来判断用户是否已经登录

追答

session.getAttribute("变量名");
判断它是否为空就知道是否存在了。

追问

不行啊,java.lang.NullPointerException

追答

你获取session对象是怎么获取的?

追问

if(session.getAttribute("username").toString()==null)
{
out.print("not exist");
}else{
out.print("exist");
}

第4个回答  2012-02-21
printf 打印下对象字段呗
或者用NULL==Object 来判断下追问

我想判断一个session中是否存在变量IsLogin用来判断用户是否已经登录,请问用你的方法如何实现呢????

追答

你在用户登陆的时候将IsLogin赋值为A,然后要在要判断的时候用
if(NULL!=IsLogin)
{
if("A"==IsLogin)
{
不可以看的内容的代码
}
}else
{
可以看的内容的代码
}

你每个页面都用这个框起来就可以,这是最简单的权限控制代码

相关了解……

你可能感兴趣的内容

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