注册 登录
编程论坛 J2EE论坛

一个验证登陆的程序出错

阅逡 发布于 2007-08-03 16:20, 509 次点击
以下是我验证用户登陆的一个方法,但有一个问题,你输入的用户和密码都正确时,它总是显示"用户密码不正确"
都不输入"用户登陆成功",不知道是怎么回事,高手们,救救我吧
if(rs.getRow()==0)//根据获得的行号,判断记录是否大于0,大于0,则表示用户已存在
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password")==password)
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
4 回复
#2
Gramary2007-08-03 17:09
你不需要这样验证吧
你这样是先根据帐号查出密码,然后在把密码进行匹配这样浪费了时间
你可以在查询的时候根据帐号和密码同时查询
例如 select * from table where 帐号='12345' and 密码='12345'
这样只要根据返回值就可以确定用户帐号和密码是否是正确的
#3
小邱2007-08-06 17:33
你这样的问题我也遇到过,后来我改了一个地方就可以了,你也试试看。
if(rs.getRow()==0)
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password").equals(password))
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
"=="比较的是地址,equals()比较的是值。
#4
小邱2007-08-06 17:34
还有另外说一点,楼上那位同胞说的方案安全性不太好,本人不建议使用。
#5
小轩子2007-08-06 17:58
你试试我的这个
if(rs.getRow().equals("0"))//根据获得的行号,判断记录是否大于0,大于0,则表示用户已存在
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password").equals(password))
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
1