天天看点

在调试struts+hibernate程序时出现HTTP Status 500 -

HTTP Status 500 -

type

Exception report

message description

The server encountered an internal error () that prevented it from fulfilling this request.

exception
javax.servlet.ServletException: Servlet execution threw an exception
      
root cause
java.lang.NoClassDefFoundError: org/hibernate/HibernateException
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
	java.lang.Class.getConstructor0(Class.java:2716)
	java.lang.Class.newInstance0(Class.java:343)
	java.lang.Class.newInstance(Class.java:325)
	org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
	org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      
root cause
java.lang.ClassNotFoundException: org.hibernate.HibernateException
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
	java.lang.Class.getDeclaredConstructors0(Native Method)
	java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
	java.lang.Class.getConstructor0(Class.java:2716)
	java.lang.Class.newInstance0(Class.java:343)
	java.lang.Class.newInstance(Class.java:325)
	org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
	org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)      
 程序如下:      
adminloginaction.java      
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.struts.actions;      
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.HibernateException;      
import com.hibernate.dao.AdminMapDao;
import com.struts.forms.AdminloginForm;
import javax.servlet.ServletException;      
/** 
 * MyEclipse Struts
 * Creation date: 10-18-2008
 * 
 * XDoclet definition:
 * @struts.action path="/adminlogin" name="adminloginForm" input="/adminlogin.jsp" scope="request" validate="true"
 */
public class AdminloginAction extends Action {      
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)throws Exception {
  AdminloginForm adminloginForm = (AdminloginForm) form;// TODO Auto-generated method stub
  boolean b=false;   
  ActionForward  forward=null;
  AdminMapDao adminmapdao=null;
  
  try{
     adminmapdao=new AdminMapDao();
  }catch(HibernateException e1){
   e1.getMessage();
  }
  try{ 
   
      String adminname=adminloginForm.getAdminname().trim();
      String adminpass=adminloginForm.getAdminpass().trim();
      b=adminmapdao.isExist(adminname);
      if(b){
      forward=mapping.findForward("failure");
      }
      else{
      forward= mapping.findForward("success");
      }
      
  /*if(adminname.equals("summer")&&"123".equals(adminpass)){
   return mapping.findForward("success");
  }
  else{
   return mapping.findForward("failure");
  }
  */
  
     }catch(Exception e1){
      throw e1;
     }   
     
     
      return(forward);
 }      
}      
这是我的DAO类      
package com.hibernate.dao;      
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;      
import com.hibernate.persistence.Admin;
import com.hibernate.util.HibernateSessionFactory;      
public class AdminMapDao implements AdminDao {      
 public boolean isExist(String adminname) throws HibernateException {
  
  Session session=null;
  Transaction tx=null;
  boolean b=false;
  Admin admin=null;
  try{
   session=HibernateSessionFactory.getSession();
   tx=session.beginTransaction();
   Query query=session.createQuery("from Admin where admin_Name=?" );
   query.setString(0,adminname); 
   admin=(Admin)query.uniqueResult();
   query=null;
   b=true;
   tx.commit();  
   
  }catch(HibernateException e){ 
       throw e;
   
  }finally{
   if(tx!=null){
    tx.rollback();
   }   
  }
  HibernateSessionFactory.closeSession();
  
  return b;
 }      
 public Admin valid(String adminname, String adminpass) throws HibernateException{
  // TODO Auto-generated method stub
  Session session=null;
  Transaction tx=null;
  Admin admin=null;
  try{
   session=HibernateSessionFactory.getSession();
   tx=session.beginTransaction();
   Query query=session.createQuery("from Admin where admin_ID=? and admin_Pass=?");
   query.setString(0,adminname);
   query.setString(1,adminpass);
   admin=(Admin)query.uniqueResult();
   query=null;   
   tx.commit();
  }catch(HibernateException e){
   if(tx!=null){
    tx.rollback();
   }
  }
  HibernateSessionFactory.closeSession();   
  
  return admin;
 }      
}
      
 请各位高手帮忙看一下到底是什么问题?多谢了!      

继续阅读