![](/img/trans.png)
[英]Driver “com.mysql.jdbc.Driver” does not support the url “null”
[英]com.mysql.jdbc.Driver showing null on the browser
嗨,我在嘗試訪問數據庫時遇到了一些麻煩。 與數據庫的連接未建立。
在Web瀏覽器中,我得到以下輸出:
在連接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 = C:\\ Database \\ mysql-connector-java-5.1.27 \\ mysql-connector-java-5.1.27-bin.jar;
提前致謝。
您可能要指定JDBC URL的端口號。 對於MySQL,通常為3306。因此,您的JDBC URL應為:
jdbc:mysql://127.0.0.1:3306/Data
但是,您可能會發現根本原因,原因是因為您的mysql連接器不在/WEB-INF/lib
web /WEB-INF/lib
文件夾中,該文件夾參與了Webapp的運行時類路徑。 只需將JAR文件直接復制到/WEB-INF/lib
目錄中,然后重新構建/重新部署/重新啟動即可。
另外,我假設您正在使用Java應用程序服務器(正在創建Servlet)。 因此,我將考慮使用JDBC連接池作為替代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.