使用JSP连接MySQL

6

我刚开始学习JSP。我开始编写简单的程序来显示日期和系统信息。然后我尝试连接一个MySQL数据库,我有一个免费的托管账户,但是我无法连接到MySQL数据库。以下是我的代码:

<%@ page import="java.sql.*" %> 
<%@ page import="java.io.*" %> 
<html> 
<head> 
<title>Connection with mysql database</title>
</head> 
<body>
<h1>Connection status</h1>
<% 
try {
    String connectionURL = "jdbc:mysql://mysql2.000webhost.com/a3932573_product";
    Connection connection = null; 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    connection = DriverManager.getConnection(connectionURL, "a3932573_dibya", "******");
    if(!connection.isClosed())
         out.println("Successfully connected to " + "MySQL server using TCP/IP...");
    connection.close();
}catch(Exception ex){
    out.println("Unable to connect to database.");
}
%>
</font>
</body> 
</html>

我收到的信息是连接状态无法连接到数据库。我已经使用相同的用户名、密码和数据库名称使用PHP测试了这个连接。我犯了什么错误?


你的JSP服务器和PHP服务器是否在同一台机器上? - Alexandre Lavoie
2
请在catch中打印这个并让我知道ex.printStackTrace(); - sunleo
1
押10美元赌这个驱动程序没有加载。 - Alexandre Lavoie
看起来您的库中缺少驱动程序,请添加它并尝试,应该可以正常工作。 - thar45
@Dibya 我给你点了个赞来抵消那个踩的。我觉得你的问题是合理的 :) - Ardee Aram
显示剩余13条评论
3个回答

9

原因是驱动程序未在库中加载,因此它未在连接中实例化,导致连接失败:

try {
            String connectionURL = "jdbc:mysql://host/db";
            Connection connection = null; 
            Class.forName("com.mysql.jdbc.Driver").newInstance(); 
            connection = DriverManager.getConnection(connectionURL, "username", "password");
            if(!connection.isClosed())
                 out.println("Successfully connected to " + "MySQL server using TCP/IP...");
            connection.close();
        }catch(Exception ex){
            out.println("Unable to connect to database"+ex);
        }   

下载驱动程序


5
我也遇到了同样的问题。我非常确定你程序的问题在于:你没有将.jar文件添加到Web lib中。请将它复制并粘贴到WEB-INF/lib目录下。
非常抱歉,我没有使用正确的答案发布格式(我是新手,这是我的第一个回答:( )。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接