编写javaweb时的一个小错误

在编写一个javaweb应用的时候,我曾经碰到一个非常头疼的问题,就是判断空值的那段代码。因为每个页面要用一个session来防止恶意的注册登录。

所以我要在相关的页面来判断这个session的值,就是这样一个简单的事情,结果却不尽如人意。刚开始,我写的是:

if(request.getSession().getAttribute("login")==null)

但是这样在后来就证明有错误,因为一旦用户登录成功,session就变为true,这时应该允许,所以该有个判断false
的过程但是这时候就不能用==了,因为java里的string比较不能用==,要调用函数equals,这里又是个小陷阱。于是写成

if(request.getSession().getAttribute("login")==null ||request.getSession().getAttribute("login").equals("false"))

ps:判断空值不能用==“”,这样算是一个空字符,不代表空值。

原文地址:https://www.cnblogs.com/shenyuelong/p/5250222.html