日期:2014-05-18  浏览次数:20770 次

请大家帮忙看看这个用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(