用户名:<input type=text name=category>和 String account = request.getParameter("account");
你是要得到用户名吗?怎么感觉名子不一样呢?

解决方案 »

  1.   

    是不是那个form要这样写啊:
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <center>
    <hr>
    <h1>图书管理系统</h1>
    <hr>
    <form method=get action="login.jsp">
    用户名:<input type=text name=category>
    <br>
    密码:<input type="password" name="password">
    </br>
    <br>
    <input type="submit" name="Submit" value="确定">
    </form>
    </center>
    </body>
    </html>
    要把用户名和密码包进去,你试试
      

  2.   

    问题好像出在password.equals(rsPassword):
    应该用password == rsPassword,区别在于,equals是判断两个对象是否相同,==判断两个对象的值是否相同。
      

  3.   

    二楼的说的对,你表单提交的数据就没有在FORM之间,那样你的用户名和密码就传不到下个页面。
    你可以用 out,print(password);在页面上把你的密码显示出来,看看在下个页面能否得到,应该是
    得不到的。
    三楼的的方法你可以试试,但是我觉得问题不在他说的那样。
      

  4.   

    按照二楼的说法```把名字改了```按照四楼的说法```改了```还是一样出现password error.
      

  5.   

    用户名:<input type=text name=category>这里,你认为对的吗????????????????不是应该这样的吗?
    用户名:<input type=“text” name=“category”>
      

  6.   


          String account = request.getParameter("account");
    我晕 勒.你自己看仔细点啦===============================
        CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
    软件!
        界面: http://qqwwee.com/
        下载: http://qqwwee.com/csdn.rar 包含源代码
      

  7.   

    你的数据库连接成功了吗?
    你在rsPassword = rs.getString("password");下面把rsPassword打印出来
      

  8.   

    String dbUrl = "jdbc:jtds:sqlserver://localhost:1433/book;user=sa";
    这个地方你是不是忘了加上密码了
      

  9.   

    这个是我改后的login.jsp  我的数据库没有密码的
    <%@ page language="java" import="java.io.*,java.sql.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <body>
       <%
          String account = request.getParameter("account");
          String password = request.getParameter("password");
          
          try{
    Connection con;
    Statement stmt;
    ResultSet rs;

    Class.forName("net.sourceforge.jtds.jdbc.Driver");
    DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
    String dbUrl = "jdbc:jtds:sqlserver://localhost:1433/j2eeone;user=sa";
                            con = java.sql.DriverManager.getConnection(dbUrl);

    stmt = con.createStatement();
    System.out.println("account:"+account);
    rs = stmt.executeQuery("SELECT * FROM denglu where count='"+account+"'");
    String rsPassword = " ";
    while(rs.next()){
                rsPassword = rs.getString("password");
    }
    System.out.println(rsPassword);
    rs.close();
    stmt.close();
    con.close();
                         if(password==rsPassword){
                             %>
    System.out.println("OK");
    <jsp:forward page="/user.html"/>

    <%
                             }
                             else{
    System.out.println("Error");
                                response.sendRedirect("error.jsp");
    }
          }
    catch(Exception e){
                     out.println(e.getMessage());
                     }
    %>
      </body>
    </html>还是不行
      

  10.   

    "System.out.println(rsPassword);"
    改为out.println(rsPassword); 
    最好加上html标签
    比如out.println(<td>rsPassword</td>);
    当然前面还有<table><tr>之类的标签  你所有的输出都犯了这样的错误,不是System.out
    你也可以用<%=%>标签,看样子你还没学JSP!
      

  11.   

    password==rsPassword???
    还是用equals吧
      

  12.   

    ps:out.println("<td>+rsPassword+</td>");
      

  13.   

    为什么不用hibernate呢?那个用起来很方便!
    你的那个传参是不是 request.getAttribute();呀!
      

  14.   

    String account = request.getParameter("account");  //这个是用户名吗?怎么和你的表单元素名称不一样的??因为account用户不存在,所以你输入任何密码都不对咯!楼主请看清楚,是不是这里错了!
    String password = request.getParameter("password"); 
      

  15.   

    把你从数据库中取的数据trim()一下就可以了,把两边的空格去掉,我以前也是这种问题。