jsp+javaBean+hibernate 运行时报错,高手帮着看看!
错误是:
root cause
java.lang.ExceptionInInitializerError
test.Student.selectHBM(test.java:262)
org.apache.jsp.register_jsp._jspService(register_jsp.java:150)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
代码是
public boolean selectHBM() throws Exception {
Session session = HibernateUtil.currentSession(); //就是这里出错
try {
String queryString = "select test.Student from test.Student as stu where stu.userid='"+userid+"'";
Query query = session.createQuery(queryString);
Iterator it = query.iterate();
if(it.hasNext()){
Student stu=(Student)it.next();
username = stu.getUsername();
sex = stu.getSex();
birthday = stu.getBirthday();
email = stu.getEmail();
address = stu.getAddress();
phone = stu.getPhone();
cardnumber = stu.getCardnumber();
regip = stu.getRegip();
regdate = stu.getRegdate();
return true;
}else{
return false;
}
} catch (Exception he) {
throw new Exception(he);
} finally {
HibernateUtil.closeSession();
}
}
这个方法主要用来查找某个编号的学生,有的话初始化他
下面这个工具类也没错啊,编译通过了
import java.io.InputStream;
import java.util.Properties;
package test;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (HibernateException ex) {
throw new RuntimeException("Exception building SessionFactory: " + ex.getMessage(), ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set(null);
if (s != null)
s.close();
}
}
我分析是运行的时候找不到需要的hibernate类库
但是我把hibernate所需要的包全部拷贝到 web-inf\lib里了啊
hibernate所需要的配置文件hibernate.cfg.xml和Student_hbm.xml也都在web-inf\class下啊
那位朋友指点一下