java.lang.ClassNotFoundException: com.mysql.jdbc.driver的问题

天际畅游 2012-11-21 11:07:21
propStream = SqlHelper.class.getClassLoader()
.getResourceAsStream("dbinfo.properties prop.load(propStream);

driver = prop.getProperty("driver");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");

Class.forName("com.mysql.jdbc.driver");");


自从添加了propStream = SqlHelper.class.getClassLoader()
.getResourceAsStream("dbinfo.properties");后就发生
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.skybird.util.SqlHelper.<clinit>(SqlHelper.java:47)
at com.skybird.model.UserService.checkUser(UserService.java:25)
at com.skybird.controller.LoginVerify.doPost(LoginVerify.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:881)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:674)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:541)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source)

错误,但是在tomcat bin目录下已经有mysql的连接驱动,并且查询数据库可以正常使用,只是报有这个错误,怀疑是SqlHelper.class.getClassLoader()加载的问题,请各位给看看神马原因?????
...全文
3230 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011660158 2013-08-11
  • 打赏
  • 举报
回复
DBconfig.properties文件配置如下: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password= 1 ------------------------------ package cm.cn.util; import java.io.*; import java.sql.*; import java.util.Properties; public class Util { public static void main(String[] args) { Util db=new Util(); // Connection conn=db.getconn(); Connection conn=db.opengetconn(); System.out.println(conn); } public Connection opengetconn() { Properties prop=new Properties(); FileInputStream fs=null; String driver=null; String url=null; String username=null; String password=null; try { /*prop.load(this.getClass().getClassLoader() .getResourceAsStream("DBconfig.properties"));*/ fs=new FileInputStream("DBconfig.properties"); prop.load(fs); driver=prop.getProperty("driver"); url=prop.getProperty("url"); username=prop.getProperty("username"); password=prop.getProperty("password"); System.out.println(driver+"-----------------"); Class.forName(driver ); return DriverManager.getConnection(url,username,password); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public Connection getconn() { Connection cnn=null; try { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1"); } catch (Exception e) { e.printStackTrace(); }finally { if(cnn!=null) { try { cnn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } cnn=null; } } return null; } public Connection getconn(String driver,String url,String user,String password) { Connection cnn=null; try { Class.forName(driver); return DriverManager.getConnection(url, user, password); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(cnn!=null) { try { cnn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } cnn=null; } } return null; } } -------------------------------------------- 问题如下: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at cm.cn.util.Util.opengetconn(Util.java:43) at cm.cn.util.Util.main(Util.java:14)
lianglizhong2003 2013-06-20
  • 打赏
  • 举报
回复
妈的,我也是这个错
天际畅游 2012-11-24
  • 打赏
  • 举报
回复
OK问题已解决: Class.forName("com.mysql.jdbc.driver"); 中的driver应为Driver。D应该大写。 悲剧搞了几天。!!!!
天际畅游 2012-11-23
  • 打赏
  • 举报
回复
现在的问题是能够连接上mysql,但是要报上面的错误,很烦人。tomcat中的common\lib下有mysql-connector-java-5.1.22-bin.jar。 令Class.forName("com.mysql.jdbc.driver");"); 这个只是拷贝的时候的问题应为: Class.forName("com.mysql.jdbc.driver");
风行傲天 2012-11-22
  • 打赏
  • 举报
回复
那你试试,直接将数据写死,看能连接吗?一步步排除错误,走断点 try{ Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e) {} //定义所要用到的三个数据库应用对象 Connection con=null; //连接对象 Statement sql=null; //Statement对象(SQL语句) //进行数据源的连接 try{ con=DriverManager.getConnection ("jdbc:mysql://localhost/scutcs","","");//连接数据库的url 用户名和密码 sql=con.createStatement(); catch (SQLException e) { out.print(e); }
风行傲天 2012-11-22
  • 打赏
  • 举报
回复
Class.forName("com.mysql.jdbc.driver");");
画虎烂 2012-11-22
  • 打赏
  • 举报
回复
Class.forName()的参数是不是错了?

58,452

社区成员

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

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