cjh19980423
2018-05-04 12:11
采纳率: 30%
浏览 1.3k
已采纳

关于J2EE设计的页面登陆JSP

作业是写一个数据库管理系统,现在卡在登陆页面的验证上面。在网页上输出的用户名和密码都和数据库里的一样
但验证就是不通过
while(rs.next())
{
out.println(username);
out.println(password);
out.println(rs.getString(1));
out.println(rs.getString(2));
out.println(rs.getString(1).trim().compareTo(username)==1);
if((rs.getString(1).trim().compareTo(username)==0)&&(rs.getString(2).trim().compareTo("password")==0))
{
validated=true;
}
}

if(validated)
out.print("成功");
else
out.print("失败");
%>

帮忙看看哪里出错了

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • weixin_39392298 2018-05-05 01:19
    已采纳

    (rs.getString(2).trim().compareTo("password")==0)
    和“password”写死的字符串比,肯定不等啊

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2018-05-04 12:54

    rs之前的代码怎么写的,rs有没有遍历出数据库里所有的记录?数据库连接有没有出错,数据库字段中1是不是用户名,2是不是密码
    out.println(rs.getString(1).trim().compareTo(username)==1);这个结果是什么?
    compareTo写成equals看看rs.getString(1).trim().equals(username)
    另外,数据库查询不需要那么“呆”
    用 select 用户名,密码 from 表 where 用户名='username' and 密码='password' 其中字段名,username password 表名用你实际的替换
    查询下有没有记录就可以了。

    评论
    解决 无用
    打赏 举报
  • tangyoha 2018-05-04 14:48

    如果是数据库的话,你可以考虑用sql语言,来提取账号密码
    Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
    你确定使用的是账号密码那个数据库吗

    评论
    解决 无用
    打赏 举报
  • qq_35811265 2018-05-04 23:37

    调试一下,看看进入的验证输出结果

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题