本帖最后由 glasstree 于 2011-01-19 15:11:08 编辑

解决方案 »

  1.   

    pstmt.setString(1, name);
    pstmt.setString(2, pwd);
      

  2.   

    忘了说了  MYSQL的表是
    emp_ID    emp_name    emp_pwd
    所以应该是2,3吧
      

  3.   

    password error不管输什么密码都直接输出addFieldError里面的信息
      

  4.   

    pstmt.setString(0, name);
    pstmt.setString(1, pwd);
      

  5.   

    用jdbc写就不熟了,要是hibernate 倒是刚写了一个。 // 普通用户登录验证
    public boolean checkUser(String userName, String password) {
    boolean flag = false;
    String hql = "from User u where u.name = '" + userName
    + "' and u.password = '" + password + "'";
    List<User> userList = getHibernateTemplate().find(hql);
    if (userList.size() == 1) {   //if (userList.size() > 0) {
    flag = true;
    }
    return flag;
    }
      

  6.   

    "SELECT count(*) FROM employee WHERE emp_name=? and emp_pwd=?";查询语句改这个 获取数据看看 是 1 还是 0
      

  7.   

    if(rs.next()){
                    int t = rs.getInt( 0 );
                    System.out.println(t);
                }语句应该是这样写的吧。。
      

  8.   

    我刚写了个测试类,发现就根本没有连接到MYSQL  这是怎么回事啊?MYSQL的DIRVER,URL,USER,PASSWORD有什么问题么?
      

  9.   


    我这样写是调试看看 有没有查询结果没有连接到mysql 那你该查下 这几个配置对不对诶。。
      

  10.   

    ava code
    if(rs.next()){
    int t = rs.getInt( 0 );
    System.out.println(t);
    }
      

  11.   

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    java.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢?
      

  12.   

    我一直不是很清楚action类里的getXXX()和setXXX()方法到底是做什么用的?得到的是什么?
      

  13.   

    set在赋值时用(页面上input的值通过ongl的功能赋值给action实例属性),get在取值时用(<s:property value="username"/>)
      

  14.   

    PreparedStatement 里面的占位符的参数设置是从1开始的第一个问号设置为1第二个问号设置为2
    但是获取ResultSet 里面的值时索引是从0开始的
    建议你先输出你获取的数据
      

  15.   


    那我可以在取值的时候用this.getUsername()么?
    在.java里写的能用<s:/>么?
      

  16.   

    那个标签中的property对应的是谁啊?
      

  17.   

    这样写对吗?String sql = "SELECT emp_name FROM employee WHERE emp_name=? and emp_pwd=?";
    不是这样吗?String sql = "SELECT emp_name,emp_pwd FROM employee WHERE emp_name=? and emp_pwd=?";
      

  18.   

    mysql的jdbc驱动包放到lib目录下
      

  19.   

    引用 24 楼 sevensm 的回复:
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    java.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢?看看你数据库的驱动 这个是驱动问题
    同意
      

  20.   

    本机直接使用Eclispe debug模式调试就oK使用跟踪看看rs的值是关键..2个小建议
    如果是验证登录 最好使用 select count(*) from table where ...
    System.out.print(e); --> e.printStackTrace()