关于struts2中登录程序的问题! 在线等!~ 本帖最后由 glasstree 于 2011-01-19 15:11:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pstmt.setString(1, name);pstmt.setString(2, pwd); 忘了说了 MYSQL的表是emp_ID emp_name emp_pwd所以应该是2,3吧 password error不管输什么密码都直接输出addFieldError里面的信息 pstmt.setString(0, name);pstmt.setString(1, pwd); 用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; } "SELECT count(*) FROM employee WHERE emp_name=? and emp_pwd=?";查询语句改这个 获取数据看看 是 1 还是 0 if(rs.next()){ int t = rs.getInt( 0 ); System.out.println(t); }语句应该是这样写的吧。。 我刚写了个测试类,发现就根本没有连接到MYSQL 这是怎么回事啊?MYSQL的DIRVER,URL,USER,PASSWORD有什么问题么? 我这样写是调试看看 有没有查询结果没有连接到mysql 那你该查下 这几个配置对不对诶。。 ava codeif(rs.next()){int t = rs.getInt( 0 );System.out.println(t);} java.lang.ClassNotFoundException: com.mysql.jdbc.Driverjava.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢? 我一直不是很清楚action类里的getXXX()和setXXX()方法到底是做什么用的?得到的是什么? set在赋值时用(页面上input的值通过ongl的功能赋值给action实例属性),get在取值时用(<s:property value="username"/>) PreparedStatement 里面的占位符的参数设置是从1开始的第一个问号设置为1第二个问号设置为2但是获取ResultSet 里面的值时索引是从0开始的建议你先输出你获取的数据 那我可以在取值的时候用this.getUsername()么?在.java里写的能用<s:/>么? 那个标签中的property对应的是谁啊? 这样写对吗?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=?"; mysql的jdbc驱动包放到lib目录下 引用 24 楼 sevensm 的回复:java.lang.ClassNotFoundException: com.mysql.jdbc.Driverjava.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢?看看你数据库的驱动 这个是驱动问题同意 本机直接使用Eclispe debug模式调试就oK使用跟踪看看rs的值是关键..2个小建议如果是验证登录 最好使用 select count(*) from table where ...System.out.print(e); --> e.printStackTrace() 关于java的释放内存问题? 三种数据库的分页 求spring+hibernate配置多数据源 怎样实现跨服务器删除文件.... 怎么实现注册需通过邮箱认证 求助!!!! 朋友们帮我看看eclipse里面配置hibernate的问题,谢谢! 怎么用自己的机子作为服务器编写发送邮件的程序,请各位大侠指教!!! 最近正在做JMS的项目,整理了一些资料,想与感兴趣的朋友分享、讨论 电商项目未登录,如果浏览器禁用cookie的话,商品怎么保存 100急求解! 报错!求解决!ORA-01008: 并非所有变量都已关联
pstmt.setString(2, pwd);
emp_ID emp_name emp_pwd
所以应该是2,3吧
pstmt.setString(1, pwd);
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;
}
int t = rs.getInt( 0 );
System.out.println(t);
}语句应该是这样写的吧。。
我这样写是调试看看 有没有查询结果没有连接到mysql 那你该查下 这几个配置对不对诶。。
if(rs.next()){
int t = rs.getInt( 0 );
System.out.println(t);
}
java.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢?
但是获取ResultSet 里面的值时索引是从0开始的
建议你先输出你获取的数据
那我可以在取值的时候用this.getUsername()么?
在.java里写的能用<s:/>么?
不是这样吗?String sql = "SELECT emp_name,emp_pwd FROM employee WHERE emp_name=? and emp_pwd=?";
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
java.lang.NullPointerException说是空指针错误 是传参时候的this.getUsername()为空么? 怎么在Action的类中看到this.getUsername()的值呢?看看你数据库的驱动 这个是驱动问题
同意
如果是验证登录 最好使用 select count(*) from table where ...
System.out.print(e); --> e.printStackTrace()