AJAX编写用户注册实例及技术小结(2)

80酷酷网    80kuku.com

  ajax|用户注册

用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求后,接下来要决定当收到服务器的响应后,需要做什么这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:xmlhttp_request.onreadystatechange =FunctionName;

FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后

我们调用request.open()-它用服务器打开套接字频道,使用一个HTTP动词(GET或POST)作为第一个参数并且以数据提供者的URL作为第二个参数request.open()的最后一个参数被设置为true-它指示该请求的异步特性注意,该请求还没有被提交随着对request.send()的调用,开始提交-这可以为POST提供任何必要的有效载荷在使用异步请求时,我们必须使用request.onreadystatechanged属性来分配请求的回调函数(如果请求是同步的话,我们应该能够在调用request.send之后立即处理结果,但是我们也有可能阻断用户,直到该请求完成为止)
再看看数据提供者的URL,url = "/chkUserAndCom",servlet如下:

1/**//*

2 * Created on 2005-12-31

3 *

4 * TODO To change the template for this generated file go to

5 * Window - Preferences - Java - Code Style - Code Templates

6 */

7package com.event;

8

9import javax.servlet.ServletException;

10import javax.servlet.http.HttpServletRequest;

11import javax.servlet.http.HttpServletResponse;

12

13import com.beans.EBaseInfo;

14

15/** *//**

16 * author Alpha 2005-12-31

17 *

18 * <P>Ajax 演示---企业注册时检查企业用户名和企业名称</P>

19 *

20 * TODO To change the template for this generated type comment go to

21 * Window - Preferences - Java - Code Style - Code Templates

22 */

23public class CheckUserAndComNm {

24 private String msgStr = "";

25 protected void doGet(HttpServletRequest request,HttpServletResponse response)

26 throws ServletException

27 {

28

29  EComBaseInfo info=new EComBaseInfo();

30  String oprate=request.getParameter("oprate")).trim();

31  String userName=request.getParameter("userName");

32  String passWord=request.getParameter("password");

33  String comName=request.getParameter("comName");

34

35  try

36  {

37 if(oprate.equals("chkUser"))

38 {

39  response.setContentType("text/html;charset=GB2312");

40  if(userName.length()<5||userName.length()>20)

41  {

42 msgStr = "对不起,用户名必须为字母、数字或下划线,长度为5-20个字符!";

43  }

44  else

45  {

46 boolean bTmp=info.findUser(userName); //找查中有无该用户名

47 if(bTmp)

48  msgStr ="对不起,此用户名已经存在,请更换用户名注册!";

49 else

50  msgStr ="";

51  }

52  response.getWriter().write(msgStr);

53 }

54 else if(oprate.equals("chkCom"))

55 {

56  response.setContentType("text/html;charset=GB2312");

57  if(comName.length()<6||comName.length()>100)

58  {

59 msgStr = "对不起,公司名称长度为6-100个字符(不包括字符内的空格)!";

60  }

61  else

62  {

63 boolean bTmp=info.findCom(comName); //找查中有无该企业名

64 if(bTmp)

65  msgStr ="对不起,此企业名称已经存在,请更换企业名称注册!";

66 else

67  msgStr ="";

68  }

69  response.getWriter().write(msgStr);

70

71 }

72  }

73  catch(Exception ex)

74  {

75  }

76  finally

77  {

78 request.setAttribute("url",url);

79  }

80 }

81

82 protected void doPost(HttpServletRequest request,HttpServletResponse response)

83 throws ServletException

84 {

85  doGet(request,response);

86 }

87}

88



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: