我正在尝试将信息从注册表单页面存储到相应的数据库,但代码正在抛出异常,因为“无法连接到数据库”我是初学者并且很难弄清楚出了什么问题在这。有人可以帮忙吗?
<%@page import="java.sql.*"%>
<html>
<head>
<meta charset="utf-8">
<title>Sign Up</title>
<link rel="stylesheet" type="text/css" href="reg.css">
</head>
<body>
<%
String name = request.getParameter("name");
String email = request.getParameter("email");
String password = request.getParameter("password");
String date = request.getParameter("date");
String sex = request.getParameter("sex");
Connection con = null;
PreparedStatement ps = null;
String connectionURL = "jdbc:mysql://localhost:3306/table";
String driverName = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "";
Class.forName(driverName).newInstance();
try {
con = DriverManager.getConnection(connectionURL, user, pass);
String queryString = "INSERT INTO detail(name,password,email,date,sex) VALUES (?,?,?,?,?)";
ps = con.prepareStatement(queryString);
ps.setString(1, name);
ps.setString(2, password);
ps.setString(3, email);
ps.setString(4, date);
ps.setString(5, sex);
int updateQuery = ps.executeUpdate();
if (updateQuery != 0) {
out.println("Successful Registration");
}
}
catch (Exception ex) {
out.println("Unable to connect to database.");
}
finally {
// close all the connections.
ps.close();
con.close();
}
%>
</body>
</html>
答案 0 :(得分:0)
嗯......“无法连接数据库”就是这个意思。您的JSP无法连接到数据库。
请在您的问题中添加完整的堆栈跟踪(错误)。这样就会更清楚问题是什么。
在我的头顶,可能的罪魁祸首是:
因此,如果您已经检查过并且您认为所有这些都是好的,请首先使用独立客户端检查连接。这样你就可以看到是否可以建立连接。我建议 Squirrel SQL Client 或Eclipse的 Data Source Explorer 。试试看你有没有合适的参数。
检查与本地客户端的连接后,所有内容都应在JEE容器中运行。
答案 1 :(得分:0)
String connectionURL = "jdbc:mysql://localhost:3306/table";
,table是您要连接的数据库名称吗?
catch (Exception ex) {
out.println("Unable to connect to database.");
}
包含ex.printStackTrace()
,它会向您显示确切的错误。