自己看视频学struts+hibernate仿照着写个最简单的例子都报错啊救我啊!

yougucao379548695 2007-06-22 02:56:36
主要是这里啊

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.jhkj.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.jhkj.HibernateSessionFactory;
import com.jhkj.Userlist;

/**
* MyEclipse Struts
* Creation date: 06-22-2007
*
* XDoclet definition:
* @struts.action validate="true"
*/
public class LoginAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
//获取提交的用户名称和密码
String userName=request.getParameter("userName");
String userPwd=request.getParameter("userPwd");
System.out.println("用户名"+userName+"密码"+userPwd);
String mUserPwd=null;
Userlist ul=null;
//创建连接
Session session=HibernateSessionFactory.getSession();
//创建事务
Transaction tx=session.beginTransaction();
//创建对话
Query query=session.createQuery("select u from Userlist as u where username='" +
userName + "'");
try{
// Iterator it = query.iterate();
// ul = (Userlist) it.next();
// mUserPwd=ul.getUserpwd();
Userlist uk=(Userlist)query.uniqueResult();
mUserPwd=uk.getUserpwd();
}catch (Exception e) {
System.out.println("异常信息:"+e.getMessage());
}
if(userPwd.equals(mUserPwd))
request.setAttribute("loginOk","Hello " + ul.getUsername());
else
request.setAttribute("loginOk","Login Error!");
//事务提交
tx.commit();
//关闭连接
HibernateSessionFactory.closeSession();
return mapping.findForward("success");
}
}


// Iterator it = query.iterate();
// ul = (Userlist) it.next();
// mUserPwd=ul.getUserpwd();

用上面这个获得密码报
could not execute query using iterate
这个错误
查了好多资料用这个拉
Userlist uk=(Userlist)query.uniqueResult();
mUserPwd=uk.getUserpwd();
可是又报这个错误
could not execute query

我真的解决不了拉 啊!
帮我下!
...全文
801 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhkchi 2007-06-26
  • 打赏
  • 举报
回复
AddAction.java:51

这个地方空指针了
yougucao379548695 2007-06-23
  • 打赏
  • 举报
回复
javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
com.jhkj.struts.action.AddAction.execute(AddAction.java:51)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

zhkchi 2007-06-22
  • 打赏
  • 举报
回复
晕。。。你的错误是什么??
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
这个不多啊就是个验证再简单不过拉!
士元 2007-06-22
  • 打赏
  • 举报
回复
同样的错..我再看看你的代码.我只是看到你这一行有错
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
Iterator it = query.list().iterate();

这样写也不行啊,呵呵我还是不行啊!
士元 2007-06-22
  • 打赏
  • 举报
回复
QQ111712
士元 2007-06-22
  • 打赏
  • 举报
回复
代码不要一大堆后再运行.这样找错难找死了
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
yhkyo() ( ) 信誉:100 Blog 加为好友 2007-06-22 18:37:15 得分: 0


我是初学者


=====================
我也是啊交流下啊,你做过例子没啊?
士元 2007-06-22
  • 打赏
  • 举报
回复
是下面的包没错
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
我看的例子都是导的这几个
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
包!

我做这个杂都导入的这几个
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
包对不对啊!
士元 2007-06-22
  • 打赏
  • 举报
回复
我是初学者
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
楼上的我44
能不能讲讲你们的hibernate经验啊
士元 2007-06-22
  • 打赏
  • 举报
回复
Iterator it = query.list().iterate();
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
Query query=session.createQuery("select u as u from Userlist where username='" +
userName + "'");
这样写都不能查拉
javax.servlet.ServletException: No data type for node: org.hibernate.hql.ast.tree.IdentNode
\-[IDENT] IdentNode: 'u' {originalText=u}

org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
可以的我都下拉好多视频!

例子都是这么写的
//创建对话
Query query=session.createQuery("select u from Userlist as u where username='" +
userName + "'");

select u as u from Userlist
我看下这个大家还继续给我指导哈!
gongyali2005 2007-06-22
  • 打赏
  • 举报
回复
我也想找个HIBERNATE的视频.能给我地址下载么?

帮顶!
dou_ye 2007-06-22
  • 打赏
  • 举报
回复
应该这样子吧select u as u from Userlist
wolf863292 2007-06-22
  • 打赏
  • 举报
回复
//创建对话
Query query=session.createQuery("select u from Userlist as u where username='" +
userName + "'");

select u from Userlist as u
这句没问题吗?感觉怪怪D.
yougucao379548695 2007-06-22
  • 打赏
  • 举报
回复
package com.jhkj;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html }.
*/
public class HibernateSessionFactory {

/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session.
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;

static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory() {
}

/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();

if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}

return session;
}

/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}

/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);

if (session != null) {
session.close();
}
}

/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}

/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}

/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}

}


这个是自动生成的好像我都没改过,。包都方lib下拉,谢谢楼上关注
加载更多回复(2)

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧