数据层(sqlserver)
在dao中
public boolean checklogin(String username,String password){
/****具体的数据库驱动和url自己应该能搞定把**/
boolean chelogin=false
//用户名不存在则返回false 存在返回true 代码省略
return chelogin
}
在 UserServlet中 的doget()中
PrintWriter out=response.getWriter()
//调用dao中的checklogin()
String username=request.getparameter("username")
String password=request.getparameter("password")
boolean checklogin=new checklogin(username,password)
if(checklogin==true){
out.print("用户名验证正确,登陆成功")//这个是为了返回给ajax的XMLHttpRequest.response一个文本信息
}
else{
out.print("用户名或密码错误(用户名不存在)")
}
在页面js中
<script>
var httpreq
//创建XMLHttpRequest对象
function createXmlHttpReq(){
if(window.ActiveXObject){
httpreq=new ActiveXObject("Microsoft.XMLHTTP")
}
else if(window.XMLHttpRequest){
httpreq=new XMLHttpRequest()
}
}
//发送请求
function sendinfo(){
//获得页面上的用户名和密码
var username=document.getElementById("username").value
var password=document.getElementById("password").value
//1.创建XMLHttpRequest对象
createXmlHttpReq()
//2.写请求路径,并设置是GET还是POST,最后是否异步 true为异步,
var url="UserServlet?username="+username+"&password="+password
httpreq.open("GET",url,true)
//3.设置回调函数
httpreq.onreadystatechange=callback
//4.发送请求
httpreq.send(null)
}
//回调函数
function callback(){
if(httpreq.ReadyState==4){
alert(httpreq.responseText)
}
}
</script>
最后在页面中就调用sendinfo()这个js函数就行了
$(document).ready(function(){$('#pwd').blur(function() {
var password = $('#pwd').val()//通过id获取你输入的密码值
$.ajax({
type:'post',
url:'checkpass.php',//URL
data:{pass:password},
dataType:'json',
success:function(return) {
if(return.status == 1) {
alert('输入密码和数据库中的密码一致!')
} else {
alert(''输入密码错误!)
}
}
})
})
})
<?php
$password = $_POST['pass']
$arr = array()
//通过连接数据库,在把$password当做条件,看查询的结果。有值就返回true
if(return) {
$arr['status'] = 1
} else {
$arr['status'] =0
}
echo json_encode($arr)
?>
如果只要写前台的话,要做的只是:1、验证表单信息是否完善(格式是否正确)
2、如果验证失败,友好的提示错误
3、否则,通过ajax将用户名,密码等相关信息存入一个对象(data)发送给后台(当然得知道后台验证登录信息的url)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)