/Ajax_XML_JSON

前端之家收集整理的这篇文章主要介绍了/Ajax_XML_JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

com.ajax.entity.UserInfo:

  1. packagecom.ajax.entity;
  2.  
  3. publicclassUserInfo{
  4. privateStringuserId;
  5. privateStringuserName;
  6. /**
  7. *@returntheuserId
  8. */
  9. publicStringgetUserId(){
  10. returnuserId;
  11. }
  12. /**
  13. *@paramuserIdtheuserIdtoset
  14. */
  15. publicvoidsetUserId(StringuserId){
  16. this.userId=userId;
  17. }
  18. /**
  19. *@returntheuserName
  20. */
  21. publicStringgetUserName(){
  22. returnuserName;
  23. }
  24. /**
  25. *@paramuserNametheuserNametoset
  26. */
  27. publicvoidsetUserName(StringuserName){
  28. this.userName=userName;
  29. }
  30. publicUserInfo(StringuserId,StringuserName){
  31. this.userId=userId;
  32. this.userName=userName;
  33. }
  34. }

com.ajax.servlet.JsonServlet:

  1. packagecom.ajax.servlet;
  2.  
  3. importjava.io.IOException;
  4. importjava.io.PrintWriter;
  5. importjava.util.ArrayList;
  6. importjava.util.List;
  7.  
  8. importjavax.servlet.ServletException;
  9. importjavax.servlet.http.HttpServlet;
  10. importjavax.servlet.http.HttpServletRequest;
  11. importjavax.servlet.http.HttpServletResponse;
  12.  
  13. importcom.ajax.entity.UserInfo;
  14.  
  15. /**
  16. *ServletimplementationclassJsonServlet
  17. */
  18. publicclassJsonServletextendsHttpServlet{
  19. privatestaticfinallongserialVersionUID=1L;
  20.  
  21. /**
  22. *@seeHttpServlet#HttpServlet()
  23. */
  24. publicJsonServlet(){
  25. super();
  26. //TODOAuto-generatedconstructorstub
  27. }
  28.  
  29. /**
  30. *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse)
  31. */
  32. protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
  33. doPost(request,response);
  34. }
  35.  
  36. /**
  37. *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponseresponse)
  38. */
  39. protectedvoiddoPost(HttpServletRequestrequest,IOException{
  40. //设置编码格式
  41. response.setContentType("text/html;charset=utf-8");
  42. request.setCharacterEncoding("utf-8");
  43. PrintWriterout=response.getWriter();
  44. List<UserInfo>users=getUsers();
  45. out.print("[");
  46. for(inti=0;i<users.size()-1;i++){
  47. out.print("{id:'"+users.get(i).getUserId()+"',name:'"+users.get(i).getUserName()+"'},");
  48. }
  49. out.print("{id:'"+users.get(users.size()-1).getUserId()+"',name:'"+users.get(users.size()-1).getUserName()+"'}");
  50. out.print("]");
  51. out.flush();
  52. out.close();
  53. }
  54. /**
  55. *构建用户信息
  56. */
  57. privateList<UserInfo>getUsers(){
  58. List<UserInfo>users=newArrayList<UserInfo>();
  59. UserInfouser=newUserInfo("U014","欧阳公");
  60. UserInfouser1=newUserInfo("U024","东门吹吹");
  61. UserInfouser2=newUserInfo("U044","西门庆");
  62. UserInfouser3=newUserInfo("U074","网看看");
  63. users.add(user);
  64. users.add(user1);
  65. users.add(user2);
  66. users.add(user3);
  67. returnusers;
  68. }
  69.  
  70. }

com.ajax.servlet.XmlServlet:

  1. packagecom.ajax.servlet;
  2.  
  3. importjava.io.IOException;
  4. importjava.io.PrintWriter;
  5. importjava.util.ArrayList;
  6. importjava.util.List;
  7.  
  8. importjavax.servlet.ServletException;
  9. importjavax.servlet.http.HttpServlet;
  10. importjavax.servlet.http.HttpServletRequest;
  11. importjavax.servlet.http.HttpServletResponse;
  12.  
  13. importcom.ajax.entity.UserInfo;
  14.  
  15. /**
  16. *ServletimplementationclassXmlServlet
  17. */
  18. publicclassXmlServletextendsHttpServlet{
  19. privatestaticfinallongserialVersionUID=1L;
  20.  
  21. /**
  22. *@seeHttpServlet#HttpServlet()
  23. */
  24. publicXmlServlet(){
  25. super();
  26. //TODOAuto-generatedconstructorstub
  27. }
  28.  
  29. /**
  30. *@seeHttpServlet#doGet(HttpServletRequestrequest,IOException{
  31. //设置编码格式
  32. response.setContentType("text/xml;charset=utf-8");
  33. request.setCharacterEncoding("utf-8");
  34. PrintWriterout=response.getWriter();
  35. List<UserInfo>users=getUsers();
  36. out.print("<?xmlversion='1.0'encoding='UTF-8'?>");
  37. out.print("<userInfos>");
  38. for(UserInfouser:users){
  39. out.print("<userid='"+user.getUserId()+"'>"+user.getUserName()+"</user>");
  40. }
  41. out.print("</userInfos>");
  42. out.flush();
  43. out.close();
  44. }
  45. /**
  46. *构建用户信息
  47. */
  48. privateList<UserInfo>getUsers(){
  49. List<UserInfo>users=newArrayList<UserInfo>();
  50. UserInfouser=newUserInfo("U014","网看看");
  51. users.add(user);
  52. users.add(user1);
  53. users.add(user2);
  54. users.add(user3);
  55. returnusers;
  56. }
  57.  
  58. }

/Ajax_XML_JSON/WebContent/json.jsp:

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <Metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  7. <title>Inserttitlehere</title>
  8. <scripttype="text/javascript">
  9. //定义全局异步请求对象的句柄
  10. varxmlHttpRequest;
  11. //定义创建异步请求对象的函数
  12. functioncreateXMLHttpRequest(){
  13. if(window.XMLHttpRequest){
  14. xmlHttpRequest=newXMLHttpRequest();
  15. }elseif(winodw.ActiveXObject){
  16. try{
  17. xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP");
  18. }catch(e){
  19. xmlHttpRequest=newActiveXObject("Msxml2.XMLHTTP");
  20. }
  21. }
  22. }
  23. //定义发送请求的函数
  24. functionsendRequest(){
  25. if(xmlHttpRequest==null){
  26. createXMLHttpRequest();
  27. }
  28. //指定请求得到响应后处理响应结果的回调函数
  29. xmlHttpRequest.onreadystatechange=callBack;
  30. //打开请求
  31. xmlHttpRequest.open("GET","jsonServlet");
  32. //发送请求
  33. xmlHttpRequest.send(null);
  34. }
  35. //定义回调函数
  36. functioncallBack(){
  37. if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
  38. alert(xmlHttpRequest.responseText);
  39. //把json字符串转换为JS对象
  40. varuserInfos=eval("("+xmlHttpRequest.responseText+")");
  41. varcontent="id----------------name<br/>";
  42. for(vari=0;i<userInfos.length;i++){
  43. varid=userInfos[i].id;
  44. varname=userInfos[i].name;
  45. content+=id+"----------------"+name+"<br/>";
  46. }
  47. document.getElementById("msg").innerHTML=content;
  48. }
  49. }
  50. </script>
  51. </head>
  52. <body>
  53. <fieldsetstyle="width:50%">
  54. <legend>Ajax解析JSON</legend>
  55. <inputtype="button"value="ajax解析JSON"onclick="sendRequest();"/><br/>
  56. <divid="msg"></div>
  57. </fieldset>
  58. </body>
  59. </html>

/Ajax_XML_JSON/WebContent/xml.jsp:

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <Metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  7. <title>Inserttitlehere</title>
  8. <scripttype="text/javascript">
  9. //定义全局异步请求对象的句柄
  10. varxmlHttpRequest;
  11. //定义创建异步请求对象的函数
  12. functioncreateXMLHttpRequest(){
  13. if(window.XMLHttpRequest){
  14. xmlHttpRequest=newXMLHttpRequest();
  15. }elseif(winodw.ActiveXObject){
  16. try{
  17. xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP");
  18. }catch(e){
  19. xmlHttpRequest=newActiveXObject("Msxml2.XMLHTTP");
  20. }
  21. }
  22. }
  23. //定义发送请求的函数
  24. functionsendRequest(){
  25. if(xmlHttpRequest==null){
  26. createXMLHttpRequest();
  27. }
  28. //指定请求得到响应后处理响应结果的回调函数
  29. xmlHttpRequest.onreadystatechange=callBack;
  30. //打开请求
  31. xmlHttpRequest.open("GET","xmlServlet");
  32. //发送请求
  33. xmlHttpRequest.send(null);
  34. }
  35. //定义回调函数
  36. functioncallBack(){
  37. if(xmlHttpRequest.readyState==4&&xmlHttpRequest.status==200){
  38. //alert(xmlHttpRequest.responseXML);
  39. //获取xml文件根节点元素对象
  40. varrootElement=xmlHttpRequest.responseXML;
  41. //获取根节点下面所有子节点对象
  42. varuserInfos=rootElement.getElementsByTagName("user");
  43. //解析获取的子节点组成数组
  44. /*<userInfos>
  45. <userid="U014">欧阳公</user>
  46. <userid="U024">东门吹吹</user>
  47. <userid="U044">西门庆</user>
  48. <userid="U074">网看看</user>
  49. </userInfos>*/
  50. //userInfos[i].getAttribute("id")获取当前遍历元素id属性对应值
  51. //userInfos[i].firstChild.nodeValue获取当前遍历元素第一个子节点对应值
  52. varcontent="id-----------------name<br/>";
  53. for(vari=0;i<userInfos.length;i++){
  54. //alert("id:"+userInfos[i].getAttribute("id")+"name:"+userInfos[i].firstChild.nodeValue);
  55. varid=userInfos[i].getAttribute("id");
  56. varname=userInfos[i].firstChild.data;
  57. content+=id+"-----------------"+name+"<br/>";
  58. }
  59. document.getElementById("msg").innerHTML=content;
  60. }
  61. }
  62. </script>
  63. </head>
  64. <body>
  65. <fieldsetstyle="width:50%">
  66. <legend>Ajax解析XML</legend>
  67. <inputtype="button"value="ajax解析XML"onclick="sendRequest();"/><br/>
  68. <divid="msg"></div>
  69. </fieldset>
  70. </body>
  71. </html>

猜你在找的Ajax相关文章