求大牛看看这个异常

「已注销」 2017-11-15 02:11:22

java.lang.NoClassDefFoundError: Could not initialize class webwork.JDBCUtil
at webwork.UserDao.login(UserDao.java:33)
at webwork.LoginServlet.doPost(LoginServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

...全文
490 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yql1986 2017-11-16
  • 打赏
  • 举报
回复
确保 a.properties 在类路径下面 输出 url,user,password,dv 这些信息,确保从配置文件中读取正确,配置文件中相关的变量都设置正确没有空格等非法字符 如果都正确 那问题就出现在 这儿了
 try {
	Class.forName(dv);
  } catch (ClassNotFoundException e) {
	e.printStackTrace();
 }
看一下,mysql驱动有没有放置到类路径下面
yql1986 2017-11-16
  • 打赏
  • 举报
回复

package webwork;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import com.mysql.jdbc.Statement;

public class JDBCUtil {
	private static String url = null;
	private static String user = null;
	private static String password = null;
	private static String dv = null;
	
	static {
		Properties properties = new Properties();
		InputStream in = JDBCUtil.class.getResourceAsStream("/a.properties");
		try {
			properties.load(in);
			url = properties.getProperty("url");
			user = properties.getProperty("user");
			password = properties.getProperty("password");
			dv = properties.getProperty("driver");
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			Class.forName(dv);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

	}

	public static Connection connection() throws SQLException {
		Connection connection = DriverManager
				.getConnection(url, user, password);
		return connection;
	}

	public static void close(Statement statement, Connection connection) {
		if (statement != null)
			try {
				statement.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		if (connection != null)
			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}

	public static void close(PreparedStatement preparedStatement,
			Connection connection, ResultSet resultSet) {
		if (preparedStatement != null)
			try {
				preparedStatement.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		if (connection != null)
			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		if (resultSet != null)
			try {
				resultSet.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}
蜗牛足迹 2017-11-15
  • 打赏
  • 举报
回复
在静态代码块中初始化类属性,如果属性文件加载失败,项目启动时就应该报错。贴出来的异常堆栈信息也说明,类初始化失败。先看看启动时有没有报错的吧,在静态代码块中加个断点!
Cathy313 2017-11-15
  • 打赏
  • 举报
回复
你看看你配置文件路径对不对,有可能是你的a.properties没加载进来
残月飞鹰 2017-11-15
  • 打赏
  • 举报
回复
参考 http://blog.csdn.net/jamesjxin/article/details/46606307
繁华终归落尽 2017-11-15
  • 打赏
  • 举报
回复
打断点看哪里有问题导致无法初始化
「已注销」 2017-11-15
  • 打赏
  • 举报
回复
package webwork; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import com.mysql.jdbc.Statement; public class JDBCUtil { private static String url=null; private static String user=null; private static String password=null; private static String dv=null; static { Properties properties =new Properties(); InputStream in=JDBCUtil.class.getResourceAsStream("/a.properties"); try { properties.load(in); url=properties.getProperty("url"); user=properties.getProperty("user"); password=properties.getProperty("password"); dv=properties.getProperty("driver"); } catch (IOException e) { e.printStackTrace(); } try { Class.forName(dv); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection connection() throws SQLException { Connection connection =DriverManager.getConnection(url, user, password); return connection; } public static void close(Statement statement,Connection connection) { if(statement!=null) try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(connection!=null) try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(PreparedStatement preparedStatement,Connection connection, ResultSet resultSet) { if(preparedStatement!=null) try { preparedStatement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(connection!=null) try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(resultSet!=null) try { resultSet.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
李德胜1995 2017-11-15
  • 打赏
  • 举报
回复
java.lang.NoClassDefFoundError: Could not initialize class webwork.JDBCUtil。。。。 JDBCUtil出现异常导致无法初始化。。。。
yql1986 2017-11-15
  • 打赏
  • 举报
回复
贴一下 JDBCUtil 这个类
「已注销」 2017-11-15
  • 打赏
  • 举报
回复
搞了一中午老是报这个异常

81,094

社区成员

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

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