struts和hibernate整合錯誤 請各位大俠幫忙看看!
在struts 的action中調用hibernate提供的類去查找數據庫數據報錯如下:
嚴重的: Servlet.service() for servlet action threw exception
java.lang.NoClassDefFoundError
at com.yourcompany.ado.UserDaoImp.checkUsersValidity(UserDaoImp.java:47)
at com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:47)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
////////-==== 源代碼 -===
public Boolean checkUsersValidity(String username, String password){
try{ //在這一句報錯
Session session = HibernateSessionFactory.getSession();
if ((session.createQuery("from Users p " +
" where p.username =:username " +
" and p.password =:password")
.setString("username", username)
.setString("password", password))
.list().isEmpty())
{
return false;
}
else
{
return true;
}
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
HibernateSessionFactory.closeSession();
}
}
///////===== 然后我另外寫了一個測試類,一切運行正常,在action中的代碼和下面類中代碼一樣。
public class UserDaoTest {
/**
* @param args
*/
public static void main(String[] args) {
UserDaoImp userDaoImp = new UserDaoImp();
if (userDaoImp.checkUsersValidity("wan", "123"))
System.out.print("true");
else
System.out.print("false");
}
}