【问题标题】:Cannot connect to a mysql database with JSP, Glassfish无法使用 JSP、Glassfish 连接到 mysql 数据库
【发布时间】:2012-03-26 23:58:40
【问题描述】:

我以前有过 JSP 经验,但使用过 Tomcat 和 Resin,我想使用 Glassfish 连接到 mySQL 数据库,并希望或多或少地复制和粘贴代码。

代码是:

try {
        Class.forName("org.gjt.mm.mysql.Driver");
    } catch (Exception E) {
        System.out.println("First: " + E);
    }

Connection conn = DriverManager.getConnection("jdbc:mysql://xxx.xx.xx.xx:xxxx/DBName", "Username", "Password");

查看服务器日志时遇到的错误是

[#|2012-03-09T13:50:21.900+0000|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=67;_ThreadName=Thread- 1;|第一: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver|#]

[#|2012-03-09T13:50:22.009+0000|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=67;_ThreadName=Thread- 1;|java.sql.SQLException: 找不到合适的驱动程序 jdbc:mysql://xxx.xx.xx.xx.xx/SmarterStudents|#]

为了安全起见,我已将 mysql-connector-java-5.0.7-bin.jar 放入 domain/lib 文件夹并将其放入 WEB-INF/lib 文件夹,但它仍然对我不起作用.

我现在已经无能为力了,我只是不知道该怎么办。 D:

【问题讨论】:

标签: java mysql jdbc glassfish


【解决方案1】:

您在 MySQL JDBC 驱动程序org.gjt.mm.mysql.Driver 的第一个版本中使用旧的和已弃用的驱动程序类名称,当时它仍然是一个业余项目,而您使用的是最新版本的 MySQL JDBC 之一驱动程序类名为com.mysql.jdbc.Driver

相应地修复类名。

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

确保您阅读的是official MySQL JDBC driver documentation,而不是一些随机且严重过时的资源/书籍/教程。

关于 JAR 文件的放置,当您在 Web 应用程序中自己管理连接时,可以将 JAR 放置在服务器自己的 /lib 或 webapp 的 /WEB-INF/lib 中。但是,当您让服务器管理连接时(通常使用共享连接池,方式要快得多),那么 JAR 必须放在服务器自己的 /lib 文件夹中。无论如何,已部署的 webapp(s) 中的那个将被忽略。

【讨论】:

    【解决方案2】:

    尝试使用 JdbcOdbcDriver ,但通常他们说它应该作为最后的手段。

    try
    {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con=DriverManager.getConnection("jdbc:odbc:db","root","root");
    }catch(Exception e){
         e.printStackTrace();
    }
    

    这应该适用于MySQL数据库,您也需要为此安装连接器,并且MySQL的用户名和密码通常分别为root和root。

    【讨论】:

    • -1:当您可以选择使用供应商的 JDBC 实现时,不要使用 ODBC 桥
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 2021-01-20
    • 1970-01-01
    • 2014-01-13
    相关资源
    最近更新 更多