感谢那些真正尝试帮助我的人,但我最终发现了我的问题是什么:MYSQL 脚本导致它搜索“Admin1”,这是我的登录 ID,而它应该搜索用户名和密码,所以已经修改我的查询来执行此操作。我会将我的解决方案留给 future 的学徒。
public void dbData(String UName, String PWord) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/unidb?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "Safia10122014");
String SQL = "select `Username`, `Password` from `SPAS_Login_Details` where `Username` like 'MWR0025'";
Statement statement = con.createStatement();
ResultSet resultSet = statement.executeQuery(SQL);
resultSet.next();
dbUname = resultSet.getString(1);
dbPword = resultSet.getString(2);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
System.out.println(e);
}
}
public String validation() {
dbData(name, password);
if (name.equalsIgnoreCase(dbUname) && password.equalsIgnoreCase(dbPword)) {
return "Admin_home";
} else {
return "";
}
}
最佳答案
您的代码看起来不错,我认为您没有被定向到 Admin_ home 的原因是因为您没有调用“checkValidUser”函数。 应该在这里调用
if(rs.next()){ checkValidUser():}
如果没有发现错误,程序应该可以正常运行。
关于java - 登录系统 JSF - 识别出 SQLException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60616237/