我在动态项目中创建了一个登录页面(HTML)。我想用mysql数据库检查用户名和密码,如果用户名或密码不正确,则在同一页面显示错误信息。 我不想在这里使用servlet来显示错误页面,因为我想显示错误消息而不是错误页面。 如何在动态webproject中实现此目的。 我可以使用javascript,jQuery,JSP或这些的任意组合吗?
答案 0 :(得分:0)
我不熟悉JSP,但这里概述了您的需求:
<强>的index.html 强>
<!DOCTYPE HTML>
<html>
<head>
<title>Web Form</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('form').on('submit', function(e) {
// don't let the browser submit the form
e.preventDefault();
// send form data to JSP page
$.ajax({
url: 'process.jsp',
async: true,
cache: false,
type: 'POST',
data: $(this).serialize(),
dataType: 'html',
success: function(data) {
// place message in error box
$('#error_box').html(data);
// if "Success" then redirect if you would like
if(data === 'Success!'){
// window.location = 'some other page/website';
}
}
});
});
});
</script>
</head>
<body>
<form method="POST" action="process.jsp">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" value="submit" />
</form>
<div id="error_box"></div>
</body>
</html>
<强> process.jsp 强>
// I don't know JSP
// use the POST values and check your DB
// Upon success/failure just echo the message
// <%='Success!'%>
// <%='Failed!'%>