当前位置: 代码迷 >> Java Web开发 >> 连接mysql总是报错:ClassNotFoundException(Class.forName(driverName);)解决方案
  详细解决方案

连接mysql总是报错:ClassNotFoundException(Class.forName(driverName);)解决方案

热度:395   发布时间:2016-04-17 01:00:13.0
连接mysql总是报错:ClassNotFoundException(Class.forName(driverName);)
安装了mysql,导入了驱动。但是每次连接总是报错。代码如下:
private String driverName="org.gjt.mm.mysql.Driver";
private String url= "jdbc:mysql://localhost:3306/PH";
private String user="root";
private String password="root";
private Connection conn=null;

public DBConnection()
{
try
{
  Class.forName(driverName);
conn=DriverManager.getConnection(url,user,password);
}
catch(Exception e){
e.printStackTrace(); 
}
}
。。。。

报错信息如下:
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver in EnvironmentClassLoader[web-app:http://localhost:8080/PetHospital]
at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1224)
at com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1203)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.sjh.dbc.DBConnection.<init>(DBConnection.java:16)
at com.sjh.dao.proxy.UserDAOProxy.<init>(UserDAOProxy.java:16)
at com.sjh.dao.factory.DAOFactory.getUserDaoInstanceof(DAOFactory.java:12)
at com.sjh.servlet.loginServlet.doPost(loginServlet.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649)
at java.lang.Thread.run(Thread.java:619)


------解决方案--------------------
探讨
不是应该是Class.forName("com.mysql.jdbc.Driver")吗?

------解决方案--------------------
你的mysql的diver jar包 没有发布到web工程中
------解决方案--------------------
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver in EnvironmentClassLoader[web-app:http://localhost:8080/PetHospital]

 jar包导了吗?
------解决方案--------------------
这个很大程度是因为mysql 驱动的jar包没导好啊
------解决方案--------------------
是不是缺什么jar包啊ClassNotFoundException
------解决方案--------------------
MySQL的驱动应该用com.mysql.jdbc.Driver,你导入的JDBC驱动应该找不到org.gjt.mm.mysql.Driver这个驱动类了,你把Class.forName改成 Class.forName("com.mysql.jdbc.Driver")
然后驱动包确定已经加入classpath
在部署web应用的时候,驱动包放到web-inf/lib目录下,这样就不会报这个错误了,你试试
------解决方案--------------------
你用eclipse吧,工程右键-build path-configure -libraries-add jar然后找到你的jdbc驱动jar ,添加进去,再试试,还不行就加我QQ 519582737
------解决方案--------------------
首先确定你导入了mysql的驱动jar
然后这样Class.forName("com.mysql.jdbc.Driver")
  相关解决方案