当前位置: 代码迷 >> Java Web开发 >> 一个验证登陆的程序出错
  详细解决方案

一个验证登陆的程序出错

热度:217   发布时间:2007-08-03 16:20:08.0
一个验证登陆的程序出错
以下是我验证用户登陆的一个方法,但有一个问题,你输入的用户和密码都正确时,它总是显示"用户密码不正确"
都不输入"用户登陆成功",不知道是怎么回事,高手们,救救我吧
if(rs.getRow()==0)//根据获得的行号,判断记录是否大于0,大于0,则表示用户已存在
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password")==password)
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
搜索更多相关主题的帖子: 验证  登陆  

----------------解决方案--------------------------------------------------------
你不需要这样验证吧
你这样是先根据帐号查出密码,然后在把密码进行匹配这样浪费了时间
你可以在查询的时候根据帐号和密码同时查询
例如 select * from table where 帐号='12345' and 密码='12345'
这样只要根据返回值就可以确定用户帐号和密码是否是正确的
----------------解决方案--------------------------------------------------------
你这样的问题我也遇到过,后来我改了一个地方就可以了,你也试试看。
if(rs.getRow()==0)
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password").equals(password))
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
"=="比较的是地址,equals()比较的是值。
----------------解决方案--------------------------------------------------------
还有另外说一点,楼上那位同胞说的方案安全性不太好,本人不建议使用。
----------------解决方案--------------------------------------------------------
你试试我的这个
if(rs.getRow().equals("0"))//根据获得的行号,判断记录是否大于0,大于0,则表示用户已存在
{
out.println("该用户不存在");
}
else
{
if(rs.getString("password").equals(password))
out.println("用户登陆成功");
else
out.println("用户密码不正确");
}
----------------解决方案--------------------------------------------------------
  相关解决方案