У меня есть HTML-форма для входа пользователя в документ JSP, и я отправляю ввод пользователя в сервлет, проверяю пароль в базе данных, затем перенаправляю пользователя на новую страницу, если он правильный, или показываю сообщение об ошибке настраница "Неверный пароль" неверна.Я хочу, чтобы сообщение об ошибке появилось на той же странице, что и форма, прямо под полем ввода пароля.Я попробовал приведенный ниже код, но он все еще перенаправляет меня на новую страницу, где отображается только сообщение «Неверный пароль».Есть ли другой способ, как это сделать?Заранее спасибо.
// КОД СЕРВЛЕТА
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Some code to check if the password matches the one in the DB and redirects to another page.
} else {
String text = "Incorrect Password!";
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(text);
}
}
}
// СТРАНИЦА JSP
<!DOCTYPE html>
<html>
<head>
<script>
$('#sButton').click(function() {
$.post('UserServlet', function(responseText) {
$('#msg').text(responseText);
});
});
</script>
<title>User Log in</title>
<%@ include file="PageHeader.html" %>
</head>
<body>
<form action = "SomeServlet" method="POST">
<h3 >Enter detailsto Sign In</h3><br>
Email: <input type="text" name="email" required><br>
Password: <input type="password" name="password" required><br>
<input type="submit" name="submit" value="Sign in">
<div style="color:red" id="msg"></div>
</form>
</body>
</html>
Сообщение об ошибке должно появиться на той же странице, как я понимаю, ноон просто открывает новую страницу, показывающую только сообщение, а не HTML-форму.