java.lang.NoClassDefFoundError: Could not initialize class

无根柳絮 2015-10-21 11:34:34
我是用servlet获取姓名密码,通过hibernate添加到数据库中,我的hibernate写好了测试没有问题,但是在用servlet调用的时候报java.lang.NoClassDefFoundError: Could not initialize class 异常。我看网络上说是jar包导入问题我导入的是hibernate5.4的版本,我需要怎么解决啊?
package com.mahui.dblink;

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

public class HibernateUtils {
/*
*读取Hibernate.cfg.xml文件
*/
private static SessionFactory factory;

static {
try {
//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();

//建立SessionFactory
factory = cfg.buildSessionFactory();
}catch(Exception e) {
e.printStackTrace();
}
}
/*
*打开Session
*/

public static Session getSession() {
return factory.openSession();
}
/*
*关闭Session
*/
public static void closeSession(Session session) {
if (session != null) {
if (session.isOpen()) {
session.close();
}
}
}
public static SessionFactory getSessionFactory() {
return factory;
}
}



package com.mahui.dblink;


import junit.framework.TestCase;

import org.hibernate.Session;
import com.mahui.model.MHPLAYERUSER;

public class HibernateQLData extends TestCase {
/*
* 增加User
*/
public void testSave(String type,String username,String password) {

Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

MHPLAYERUSER mh = new MHPLAYERUSER();
mh.setType(type);
mh.setUsername(username);
mh.setPassword(password);
session.save(mh);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 删除
*/
public static void testDel(String username){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

MHPLAYERUSER user=(MHPLAYERUSER)session.load(MHPLAYERUSER.class,username);

session.delete(user);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}

/**
* 修改
*/
public void testUpdate(String username){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

MHPLAYERUSER user=(MHPLAYERUSER)session.load(MHPLAYERUSER.class,username);
user.setUsername("王五");
session.update(user);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}

/**
* 查询
*/
public void testLoad(String username){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

MHPLAYERUSER user=(MHPLAYERUSER)session.load(MHPLAYERUSER.class,username);
System.out.println(user.getUsername());
System.out.println(user.getPassword());
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
public static void main(String[] args){
//testSave("2","MAHU","123");
testDel("MAHUI");
//testUpdate("王五");
//testLoad("王五");
}
}

package com.mahui.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.mahui.dblink.HibernateQLData;
import com.mahui.dblink.Test;


public class ZhuCeServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String type="1";
/*String username=request.getParameter("username");
String password=request.getParameter("password");*/
String username="mahui2";
String password="mmmmm";
System.out.println("username:"+new String(username.getBytes("iso8859-1"),"utf-8"));
System.out.println("password:"+new String(password.getBytes("iso8859-1"),"utf-8"));
//System.out.println("hello word!");
Test.test(type,username,password);
}
}
十月 21, 2015 11:30:24 上午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet ZhuCeServlet threw exception
java.lang.NoClassDefFoundError: Could not initialize class com.mahui.dblink.HibernateUtils
at com.mahui.dblink.HibernateQLData.testSave(HibernateQLData.java:30)
at com.mahui.dblink.Test.test(Test.java:8)
at com.mahui.servlet.ZhuCeServlet.doPost(ZhuCeServlet.java:31)
at com.mahui.servlet.ZhuCeServlet.doGet(ZhuCeServlet.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:724)
...全文
597 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,122

社区成员

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

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