请大家帮忙看看这个用struts和hibernate做的登录程序的问题。谢谢
这几天刚学struts和hibernate,做了一个登录的程序,但是程序确一直出错,请大家帮忙看看。在myeclipse中做的hibernate的东西是经过配置自动生成的。程序我使用断点跟踪了,发现了程序执行出错误的地方,但是不知道怎么修改。请大家看看。错误出现在以下这个文件中,当执行到Iterator it = query.iterate();
这句代码时,就不执行后面的代码,而是直接跳出try执行
catch (Exception e) {
System.out.println(e.getMessage());
}
这句代码。前面的
String userName=loginForm.getName();
String userPwd=loginForm.getPassword();
都能正确的取得数据
请问这是什么原因呢?要怎么修改呢?谢谢
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.1/xslt/JavaClass.xsl
package com.mystruts.struts.action;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hibarenate.SessionFactory;
import com.hibarenate.Users;
import com.mystruts.struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 06-06-2007
*
* XDoclet definition:
* @struts.action path= "/login " name= "loginForm " input= "/login.jsp " scope= "request " validate= "true "
* @struts.action-forward name= "success " path= "/success.jsp "
* @struts.action-forward name= "failure " path= "/login.jsp "
*/
public class LoginAction extends Action {
// --------------------- Instance Variables
// --------------------- Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
// 获取提交的用户名称和密码
String userName=loginForm.getName();
String userPwd=loginForm.getPassword();
String mUserPwd=null;
Users ul=null;
//创建连接
Session session=SessionFactory.currentSession();
//创建事务
Transaction tx=session.beginTransaction();
//创建对话
Query query=session.createQuery( "select u from Users as u where name= ' " +
userName + " ' ");
try{
Iterator it = query.iterate();
ul = (Users) it.next();
mUserPwd=ul.getPassword();
}catch (Exception e) {
System.out.println(e.getMessage());
}
//事务提交
tx.commit(