我在JSP文档上有一个用于用户登录的HTML表单,并将用户的输入发送到Servlet,针对数据库检查密码,然后将用户重定向到新页面(如果正确)或在屏幕上显示错误消息页面“密码错误”不正确。 我希望错误消息与“密码”输入字段下方的表单显示在同一页面上。我已经尝试过下面的代码,但是它仍然将我重定向到一个新页面,在该页面中仅显示“错误密码”消息。 还有其他方法吗? 预先谢谢你。
// SERVLET CODE
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表单。