Я создаю страницу входа в систему с использованием JDBC, сервлета и JSP.Моя проблема в том, что я не знаю, как сделать ошибку при входе более конкретной.Например, если пользователь вводит неправильное имя пользователя, на нем будет отображаться «Неверное имя пользователя».Если пользователь вводит неправильный пароль, он отображает «Неверный пароль»
Я могу только сделать «Неверное имя пользователя / пароль»
Вот мой код:
if(loginButton){
String queryStr = "SELECT * FROM accounts WHERE username=? AND password=?";
PreparedStatement ps = conn.prepareStatement(queryStr);
String usernameInput= request.getParameter("usernameInput");
String passwordInput=request.getParameter("passwordInput");
String passwordEnc= encrypt(passwordInput);
ps.setString(1, usernameInput);
ps.setString(2, passwordEnc);
ResultSet rs = ps.executeQuery();
if(rs.next() && captcha.isCorrect(answer)){
if(rs.getString("role").equals("Admin")){
request.setAttribute("role", rs.getString("role"));
request.setAttribute("username", rs.getString("username"));
RequestDispatcher view = request.getRequestDispatcher("adminAccess.jsp");
view.forward(request, response);
}
else{
request.setAttribute("role", rs.getString("role"));
request.setAttribute("username", rs.getString("username"));
RequestDispatcher view = request.getRequestDispatcher("loginResult.jsp");
view.forward(request, response);
}
//response.sendRedirect("loginResult.jsp");
}else if(!captcha.isCorrect(answer)) {
request.setAttribute("captchaMismatch","Captcha does not match");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
else if(!rs.next()){
request.setAttribute("loginError","Wrong username/password!");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}