錯誤 URL
jdbc:mysql://localhost:3306?stu/root/ // ❌ 格式錯誤
正確格式
jdbc:mysql://localhost:3306/stu?user=root&password=yourpass
// 或
jdbc:mysql://localhost:3306/stu
// 配合 DriverManager.getConnection(url, "root", "yourpass")
參數說明
| 部分 | 範例 | 說明 |
| 協議 | jdbc:mysql: | 固定 |
| 主機 | localhost | IP 或域名 |
| 埠 | 3306 | MySQL 預設 |
| 資料庫 | stu | **必須指定**,位於 `/` 後 |
| 參數 | ?useSSL=false&serverTimezone=UTC | 常用參數,建議加上 |
完整修正代碼
<%
Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL 8.0+ 驅動類
String url = "jdbc:mysql://localhost:3306/stu?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
Connection conn = DriverManager.getConnection(url, "root", "your_password");
out.print("連線成功!<br>");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM t_students");
while (rs.next()) {
out.print(rs.getString("name") + "<br>");
}
%>
常見坑
- 驅動類名:MySQL 5.x 用
com.mysql.jdbc.Driver,8.0+ 用 com.mysql.cj.jdbc.Driver。
- 資料庫名拼寫錯誤、大小寫敏感 (Linux)。
- 防火牆/安全組阻擋 3306 埠。