菜鳥struts2+hibernate中遇到的問題


寫了個簡單的用戶注冊的小程序。用的是struts2+hibernate,但在頁面提交后,返回的頁面結果報出異常,異常如下:

Struts has detected an unhandled exception:
Messages: 

  1.  org.hibernate.Session
  2.  org/hibernate/Session
Stacktraces
java.lang.reflect.InvocationTargetException

    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)

java.lang.NoClassDefFoundError: org/hibernate/Session
    com.my.logintest.action.RegAction.execute(RegAction.java:19)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)

java.lang.ClassNotFoundException: org.hibernate.Session
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    com.my.logintest.action.RegAction.execute(RegAction.java:19)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)

根據異常提示是說Session這個類沒有引入。可是我程序編譯的時候卻沒有問題啊
而且
斷點調試RegAction的execute方法時,發現調用LoginUserService的register方法的時候,總是提示“Source not found for InvocationTargetException.<init>(Throwable) line: not available”的問題。但是調用其他方法時就不會出現這樣的錯誤。這個方法如下:

package com.my.logintest.service;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.my.logintest.model.LoginUser;
public class LoginUserService {
public void register(){
System.out.println("sssss");
// if(id==null||password==null)
// return ;
//
// String md5_id=MD5.compute(id);
// String md5_password=MD5.compute(password);
// System.out.println("register method");
//
// Configuration conf=new Configuration();
// SessionFactory sessonFactory=conf.buildSessionFactory();
// Session session=sessonFactory.getCurrentSession();
// session.beginTransaction();
//
// LoginUser user=new LoginUser();
// user.setId(md5_id);
// user.setPassword(md5_password);
// session.save(user);
// session.getTransaction().commit();
// sessonFactory.close();
}
}

以上注釋的代碼無論是否被注釋都會報同樣的錯誤。

5 个解决方案

#1


是不是缺少jar包, 或者jar包沖突!

#2


web-inf lib里有這個包沒。

#3


應該是缺少jar包,好好檢查下看看少了什么包

#4


引用 2 樓 yanning1314 的回復:
web-inf lib里有這個包沒。
lib下沒有,但是build path下面有。難道一定要放在lib下面嗎?

#5


引用 4 樓 jammy_hom 的回復:
引用 2 樓 yanning1314 的回復:

web-inf lib里有這個包沒。
lib下沒有,但是build path下面有。難道一定要放在lib下面嗎?
確實是沒有放在lib里的緣故。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com