阅读完需:约 2 分钟

jsp页面:
<body>
<h1> 演示用户是否被注册</h1>
<form action="" method="post">
用户名:<input type="text" name="username" id="usernameEle"><span id="error"></span><br/>
密 码 :<input type="password" name="password" id="password"><br/>
<input type="submit" value="注册">
</form>
</body>
jsp页面中的ajax配置
<script type="text/javascript">
function createXMLHttpRequest(){
try {
return new XMLHttpRequest();//大多数游览器
} catch (e) {
try {
return ActvieXObject("Msxml2.XMLHTTP");//IE6.0
} catch (e) {
try {
return ActvieXObject("Microsoft.XMLHTTP");//IE5.5以及更早
} catch (e) {
alert("错误");
throw e;
}
}
}
}
window.onload = function(){
//获取文本框,给它的失去焦点事件注册监听
var userEle=document.getElementById("usernameEle")//方法可返回对拥有指定 ID 的第一个对象的引用
userEle.onblur=function(){
//1.得到异步对象
var xmlHttp=createXMLHttpRequest();
//2.打开链接
xmlHttp.open("POST","servlet2",true);
//3.设置请求头 Content-Type
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//4.发送
xmlHttp.send("username=" + userEle.value);
//5.给xmlHttp的onreadystatechange事件注册监听器
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4 && xmlHttp.status==200){
//获取服务器的响应,判断是否为1
//是,获取spen,添加“已注册”
var text=xmlHttp.responseText;//返回结果responseText中是JSON的数据
var span=document.getElementById("error");//获取元素的ID
if(text == "1"){
//var span=document.getElementById("error");//获取元素的ID
span.innerHTML="用户已存在";//在htmld的标签之间写内容
}else{
span.innerHTML="";
}
}
}
}
}
//http://laptop-hi4k4ge3:8080/web1/ajax3.jsp
Servlet配置
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");//设置字符编码
response.setContentType("text/html;charset=UTF-8");//设置内容 类型
String username=request.getParameter("username");//获取参数
System.out.println(username);
if(username.equalsIgnoreCase("asd")){
//equalsIgnoreCase 将此 String 与另一个 String 进行比较,不考虑大小写。如果两个字符串的长度相等,并且两个字符串中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。
response.getWriter().print("1");
}else{
response.getWriter().print("0");
}
}