此文章为总结第一个登录网页中用ajax方法请求后台json数据,以此来验证用户名与密码的正确性(连接SQL server数据库):
首先将ajax绑定在登录按钮的click事件中,通过点击按钮触发ajax:(Login.jsp页面中)现在一般用json数据格式
$("#submit").click(function(){
//ajax判断是否存在账号+密码是否正确
$.ajax({
url:"./CheckName", //相应项目文件夹src下创建了继承自HttoServlet类的方法
type:"post", //请求方式
datatype:"json", //json数据格式
data:{
"username":$("input[name='username']").val(),
"password":$("input[name='password']").val()
},
success:function(msg){ //msg为从CheckName中传过来的数据
if($.trim(msg)=="0"){ //注意jQuery中字符串的比较!!!
$("#check").text("用户名不存在,请注册");
}
else if($.trim(msg)=="1"){
$("#check").text("密码错误");
}
else if($.trim(msg)=="2"){
$("#check").text("登录成功").css("color","black");
}
}
});
});
checkName用于给Login.jsp文件中的ajax传值:通过PrintWrite写入,然后传递给上述的msg参数中,并根据相应的参数(0,1,2)来判断给用户输出的提示信息
PrintWriter pw = resp.getWriter();
//必须要用PrintWriter写入
try {
String result=uService.findByName(username); //自定义的查找用户名的类方法
if (result=="no") {//未找到用户名
pw.println("0");
}
else if(result.equals(password)){//用户名,密码正确.注意Java中用equals,而不是==
pw.println("2");
System.out.println("2");
}
else {//密码错误
System.out.println("1");
pw.println("1");
}
} catch (Exception e) {
e.printStackTrace();
}
此过程中还需要配置web.xml文件,
<!-- **************登录界面ajax参数配置 **************-->
<servlet>
<servlet-name>CheckName</servlet-name>
<servlet-class>com.web.service.CheckName</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckName</servlet-name>
<url-pattern>/CheckName</url-pattern>
</servlet-mapping>