AJAX练习-以GET和POST方式检查注册用户名是否存在

以GET和POST方式检查注册用户名是否存在

一、以GET方式

1、jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6         <script type="text/javascript" src="../js/ajax_2.js"></script>
 7   </head>
 8       
 9   <body>
10      输入用户名:<input type="text"/>光标移出后,立即查检结果
11       <hr/>
12       <div id="div">
13           <!-- 显示结果 -->
14       </div>
15       <script type="text/javascript">
16       var inputElement = document.getElementsByTagName("input")[0];
17     //alert(inputElement.nodeName);
18     inputElement.onblur = function(){
19           //alert("光标失去焦点");
20         //取得用户输入的用户名
21         var username = this.value;
22         username = encodeURI(username);//对于IE浏览器有用,对于非IE浏览器,这句可以不加。
23         //alert(username);
24           //创建ajax引擎对象
25           var xhr = createXHR();
26           //alert("测试xhr是否创建成功:"+xhr);
27           //设置函数监听
28           xhr.onreadystatechange = function(){
29             if(xhr.readyState==4){
30                     //alert(xhr.readState);
31                 if(xhr.status==200){
32                     //获取服务器传来的文本信息
33                     var msg = xhr.responseText;
34                     //alert(msg);
35                     //将信息写入div区域
36                     document.getElementById("div").innerHTML = msg;
37                 }
38             }                      
39             };
40         //准备以GET方式请求发送请求
41         xhr.open("get","/myday31/GetServlet?username="+username+"&time="+new Date().toString());
42         //真正发送请求
43         xhr.send(null);
44       };
45       
46       </script>
47   </body>
48 </html>

 

2、js

 1 //创建ajax的方法
 2   function createXHR(){
 3       var xhr = null;
 4     try{        
 5         xhr = new ActiveXObject("microsoft.xmlhtp");
 6      }catch(e){
 7          try{
 8              xhr = new XMLHttpRequest();
 9          }catch(e){
10              window.alert("您的浏览器过老");
11         }
12      }
13      return xhr;
14   }

 

3、Servlet

 1 import java.io.IOException;
 2 
 3 import javax.servlet.ServletException;
 4 import javax.servlet.http.HttpServlet;
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletResponse;
 7 
 8 public class GetServlet extends HttpServlet {
 9 
10     public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
11         System.out.println("GetServlet::doGet()");
12         //获取用户名
13         String username = request.getParameter("username");
14         byte[] buf = username.getBytes("ISO8859-1");
15         username = new String(buf,"utf-8");
16         String message = null;
17         if("小胜".equals(username)){
18             message = "<font color=red size=15>"+"该用户已存在"+"</font>";
19         }else{
20             message = "<font color=red size=15>"+"可以注册"+"</font>";
21         }
22         response.setContentType("text/html;charset=utf-8");
23         response.getWriter().write(message);
24     }
25     public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
26 
27     }
28 
29 }

 二、以POST方式

1、jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 
 3 <html>
 4   <head>
 5   </head>
 6       
 7   <body>
 8      输入用户名:<input id = "text" type="text"/>光标移出后,立即查检结果
 9       <hr/>
10       <div id="div">
11           <!-- 显示结果 -->
12       </div>
13       <script type="text/javascript">
14         //1、添加事件函数
15         document.getElementById("text").onblur = function(){
16 
17             //2、获取用户名
18             var inputElement = document.getElementsByTagName("input")[0];
19             var username = inputElement.value;
20             username = encodeURI(username);
21             //3、创建ajax引擎对象
22             var xhr = createXHR();
23             //5、从ajax引擎取得响应结果
24             xhr.onreadystatechange = function(){
25 
26                 if(xhr.readyState==4){
27                     if(xhr.status=200){
28                         //以字符串形式接收
29                         //var msg =  xhr.responseText;
30                         //alert(msg);
31                         var xmlDoc = xhr.responseXML;
32                         //alert(xmlDoc);
33                         var resElement = xmlDoc.getElementsByTagName("res")[0];
34                         //alert(resElement.nodeName);
35                         var msg = resElement.innerHTML;
36                         //alert(msg);
37                         document.getElementById("div").innerHTML = msg ;
38                     }
39                 }
40             };
41             //4、异步发送请求
42             xhr.open("post","/myday31/GetServlet4",true);
43             xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
44             xhr.send("username="+username+"&time="+new Date().toString);//这里不要写?,写了就不对了
45             
46         };
47         
48           //创建xhr文件函数
49           function createXHR(){
50                 var xhr = null; 
51                 try{
52                       //ie
53                       xhr = new ActiveXObject("microsoft.xmlhttp");
54                   }catch(e){
55                         xhr = new XMLHttpRequest();
56                   }
57                   return xhr;
58             }
59       </script>
60   </body>
61 </html>

 

2、Servlet

 1 import java.io.IOException;
 2 import java.io.PrintWriter;
 3 
 4 import javax.servlet.ServletException;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 
 9 public class GetServlet4 extends HttpServlet {
10 
11     public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
12         
13     }
14     public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
15         request.setCharacterEncoding("utf-8");
16         System.out.println("GetServlet::doPost()");
17         //获取用户名
18         String username = request.getParameter("username");
19         System.out.println(username);
20         String message = null;
21         if("小胜".equals(username)){
22             message = "<img src='../images/MsgError.gif'/>";
23         }else{
24             message = "<img src='../images/MsgSent.gif'/>";
25         }
26         response.setContentType("text/xml;charset=utf-8");
27         PrintWriter pw = response.getWriter();
28         pw.write("<root>");
29             pw.write("<res>");
30                 pw.write(message);
31             pw.write("</res>");
32         pw.write("</root>");
33     }
34 
35 }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值