用其他字段不报错,但总是登录不成功,总跳转到LoginERROR.jsp

解决方案 »

  1.   

    你试一下把数据库取出来的数进行空格去除
    如上
    String SQLName =rs.getString("userName"); 
    String SQLPassw =rs.getString("userPassword"); 
    改成
    String SQLName =rs.getString("userName").trim(); 
    String SQLPassw =rs.getString("userPassword").trim(); 
    再运行试一下
      

  2.   

    检查String SQLName =rs.getString("userName"); 
    里的userName是不是和数据表里的userName相对应,或者你的数据表里是username
      

  3.   

    或者在select * from comm一句里,加数据库名称
    select * from stu.comm
      

  4.   

    我在插入,删除,修改 页面里都可以用userPassword但就是在登录页面里出问题。
      

  5.   

    root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid column name: userPassword 
    这是你的SQL异常啊
      

  6.   

    打个断点调试一下,看看数据和SQL语句到底有没有错,
      

  7.   

    应该是密码字段名字和你的userPassword字段有出入,看看是不是写错了。这样的错误应该是字段错误了,复制粘贴下。
      

  8.   

    很明确的错误,数据库字段名称错误,数据库查询结果集中不存在“userPassword”字段
      

  9.   

    如果你确保数据库部分没有错,有可能是LoginEND.jsp或LoginERROR.jsp中的错误,建议先将如下代码去掉:if(name.equals(SQLName) && pw.equals(SQLPassw))
    {
    %>
    <jsp:forward page="LoginEND.jsp">
    <jsp:param name="urXy" value=" <%=name%>"/>
    </jsp:forward>
    <%
    }
    else
    {
    %>
    <jsp:forward page="LoginERROR.jsp">
    <jsp:param name="userXy" value=" <%=name%>"/>
    </jsp:forward><%
    }看看是不是数据库部分的错误,如果前面没错,估计很可能是LoginEND.jsp中的错误
      

  10.   

    不过根据Invalid column name: userPassword,很可能是没找到这个字段名,看看数据库表吧
      

  11.   

    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseNam=stu"; 
    应该是DataBaseName
      

  12.   

    非常感谢各位啊!!!现在已经可以了,但还是跳转到登录失败页面,我估计是中文转化出问题了,请各位给个建议啊!!!
    现在是用中文用户名可以 登录了,例如:
    用户名:张三
    密码:369
    (可以成功登录)
    用户名:ender
    密码:369
    (却登录不上去)
    (注释:ISO2GB是一个Bean。用于将ISO字符转换为中文GB2312)
      

  13.   

    改数据库的编码,改成GBK或UTF-8