我有成功建立与 mySQL 数据库的连接的代码。
String email, password; //assume these are already loaded with user-entered data.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
return false;
}
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/main", "root", "password123");
} catch (SQLException e) {
return false;
}
//perform my database actions here///////////////
///////////////////////////////////////////////////
try {
conn.close();
} catch (SQLException e) {
return false;
}
在上面的代码范围内,我有几个字符串已经包含用户在登录页面上输入的电子邮件和密码。我需要在数据库中查找匹配的电子邮件地址,然后验证密码是否与用户在表单中输入的内容匹配。
我的表有 3 列:id、email 和密码。
我已使用 sql 工作台将两行推入表中
1 | 电子邮件@gmail.com | 密码1
2 | email2@gmail.com | 密码2
我假设在纯 SQL 中我必须做类似的事情
SELECT * FROM users WHERE email LIKE 'email@gmail.com' AND password LIKE 'password1';
但我不太确定如何将这些 SQL 命令实际发送到数据库并使用 JSP 接收信息。此外,我不完全确定我的 SQL 逻辑是验证密码的理想方式。我对上面的 SQL 命令的想法是,如果数据库找到任何符合条件的行,则验证电子邮件/密码组合。不确定这是否是一个很好的方法。我不是在寻找最安全和最复杂的方式,我只是在寻找目前最简单的方式。我发现的每个教程似乎都做得不同,我有点困惑。