com.mysql.jdbc.Driver在浏览器上显示null

时间:2013-12-03 18:08:17

标签: java mysql sql servlets jdbc

您好我在尝试访问我的数据库时遇到了一些麻烦。与数据库的连接尚未建立。

在网络浏览器中,我得到以下输出:

在连接Db中

在注册驱动程序之前尝试

Below is the code snippet I am using to establish the connection.

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ConnectionDB extends HttpServlet {


    // JDBC driver name and database URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
    static final String DB_URL = "jdbc:mysql://localhost/Data";

    //  Database credentials
    static final String USER = "root";
    static final String PASS = "";


    public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws IOException, ServletException {
        res.setContentType("text/html");
        PrintWriter pw = res.getWriter();
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        pw.println("<h2>In Connection Db</h2>");
        try {
            //STEP 2: Register JDBC driver
            pw.println("<h2>In try before registering driver</h2>");
            Class.forName("com.mysql.jdbc.Driver");
            pw.println("<h2>In try</h2>");
            //STEP 3: Open a connection
            con = DriverManager.getConnection(DB_URL,USER,PASS);
            pw.println("<h2>After connection</h2>");
            stmt = con.createStatement();

我的classpath变量设置如下 CLASSPATH = C:\ Database \ mysql-connector-java-5.1.27 \ mysql-connector-java-5.1.27-bin.jar;

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能需要指定JDBC URL的端口号。对于MySQL,这通常是3306.因此,您的JDBC URL应该是:

jdbc:mysql://127.0.0.1:3306/Data

但是,如果因为你的mysql连接器不在参与webapp的运行时类路径的/WEB-INF/lib文件夹中,你可能会发现根本原因。只需将JAR文件直接复制到目录/WEB-INF/lib中并重建/重新部署/重新启动。

此外,我假设您正在使用Java Application Server(因为您正在创建Servlet)。因此,我会考虑使用JDBC连接池作为替代方案。