ClassNotFoundException:com.mysql.jdbc.Driver。Web应用程序的JDBC MySQL驱动程序

天天见闻 天天见闻 2023-03-15 科技 阅读: 116
摘要: Class.forName("com.mysql.jdbc.Driver").newInstance():mysql:user;password);e.printStackTrace():INFO:at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:

如何解决ClassNotFoundException:com.mysql.jdbc.Driver。Web应用程序的JDBC MySQL驱动程序?

您错过了类路径中的mysql-connector-j jar文件。使用“ java -cp。:MysqL.jar …”。哦 这是一个webapp!然后把MysqL jar文件放到WEB-INF / lib文件夹中。

解决方法

因此,我有一个用于MySQL JDBC驱动程序的.jar文件,该文件位于我的库源文件夹下,并且具有以下代码:

public static Connection getConnection() throws SQLException {
        Connection conn = null;
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            String url = "jdbc:mysql://50.56.81.42:3306/GUEST_BOOK";
            String user = "user";
            String password = "pass";

            conn = (Connection) DriverManager.getConnection(url,user,password);
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }catch(InstantiationException e){
            e.printStackTrace();
        }catch(IllegalAccessException e){
            e.printStackTrace();
        }
            return conn;

    }

但是,它总是给我这个错误:

INFO: Server startup in 645 ms
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at gbook.DbHelper.getConnection(DbHelper.java:14)
    at gbook.DbHelper.getGuestBook(DbHelper.java:51)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Dec 1,2011 1:41:05 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/JDBC-MySQL] threw exception [javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/mysql/jdbc/Connection] with root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Connection
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at gbook.DbHelper.getGuestBook(DbHelper.java:52)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

这是我添加jar文件的方法。我创建了一个lib文件夹,并将jar放入其中,然后在eclipse中配置构建路径,并将lib文件夹中的jar添加到了项目中。

其他相关
软件测试|MySQL逻辑运算符使用详解

软件测试|MySQL逻辑运算符使用详解

作者: 天天见闻 时间:2023-10-08 阅读: 58
概述 在MySQL中,逻辑运算符处理布尔类型的数据,进行逻辑判断和组合条件。逻辑运算符主要有AND、OR和NOT三种,可以用查询和条件语句来支持复杂的逻辑操作。本文详细介绍了MySQL中逻辑运算符的使用方法和示例。 AND运算符 AND运算符用于组合多个条件要求所有条件都为真的情况下,整个表达式为真。它的语法是 condition1 AND condition2 这里,condition1和condition2是任意逻辑表达式,可以返回布尔值(TRUE或FALSE)。如果Condition1和condition2都为TRUE,则整个表达式的结果为TRUE,否则为FALSE。...
常见的MySQL语句

常见的MySQL语句

作者: 天天见闻 时间:2023-03-15 阅读: 141
...
mysql的查询、子查询和连接查询

mysql的查询、子查询和连接查询

作者: 天天见闻 时间:2023-03-15 阅读: 142
...
是时候使用MySQL 8了!

是时候使用MySQL 8了!

作者: 天天见闻 时间:2023-03-02 阅读: 126
数据库有个重要的发展方向就是和硬件紧密集成,存储等方面专门为数据分析做了优化,让MySQL的写入性能提升了2倍,优化写入解决的是MySQL用软件实现的Double Write Buffer的问题,说的是MySQL缓冲区的数据页是16 Kb。当MySQL缓冲区的16 Kb的页需要写入文件系统时,内存中缓冲区的数据在写入真正的数据文件之前,但是可以从那个2M的文件缓冲区找到原始数据进行恢复。...
告诉老默:这47个SQL性能优化技巧,赶紧收藏了!

告诉老默:这47个SQL性能优化技巧,赶紧收藏了!

作者: 天天见闻 时间:2023-02-20 阅读: 137
调用API接口调用存储引擎来查询数据,(1)所有数据库对象名称必须使用小写字母并用下划线分割,(1)所有数据库对象名称禁止使用mysql保留关键字;(5)所有存储相同数据的列名和列类型必须一致,3、所有表必须使用Innodb存储引擎,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,(2)不要使用UUID、MD5、HASH、字符串列作为主键(无法保证数据的顺序增长)...
MySQL中一条update语句是怎么执行的

MySQL中一条update语句是怎么执行的

作者: 天天见闻 时间:2022-03-16 阅读: 299
SQL语句的执行过程如果通过key能够查找到这条SQL语句,直接返回SQL的执行结果。接下来,分析器会经过语法分析和词法分析,知道了这是一条更新语句后,优化器决定要使用哪一个索引,然后执行器负责具体的执行,先找到这一行,然后做更新。InnoDB引擎部分在执行这个简单的update语句的时候的内部流程哪些是update语句执行之后做的,哪些是commit语句执行之后做的?...
我来说两句

年度爆文