JSON+AJAX 简单实例

最近把系统给彻彻底底的给清理了,在清理的时候居然发现以前的项目,和习题.所以拿出来给大家看看.也做个纪念.晕
内容如下:
我这里是json.js(放在index.jsp中,记得一定要放在所以js的第一个引入),json.jar(放在bin下面).
     1:首先你建一个js文件
内容如下:
     var xmlHttp;
Java代码  

文本格式 复制代码 打印 ?
  1. function  createXMLHttpRequest()  {    
  2.   if  (window.ActiveXObject)  {    
  3.      xmlHttp  =   new  ActiveXObject("Microsoft.XMLHTTP");    
  4.   }      
  5.   else   if  (window.XMLHttpRequest)  {    
  6.      xmlHttp  =   new  XMLHttpRequest();    
  7.   }     
  8. }     
  9. //创建Person类有参构造器    
  10. function Person(name,age,gender,birthday){    
  11.     this.age = age;    
  12.     this.gender = gender;    
  13.     this.name = name;    
  14.     this.birthday = birthday;    
  15. }    
  16. //创建一个Person的对象    
  17. function getPerson(){    
  18.     return new Person("coco",25,true,"1988-08-08");    
  19. }    
  20. //发起ajax请求    
  21. function doJSON(){    
  22.    var  person  =  getPerson();    
  23.        
  24.    //使用json.js库里的stringify()方法将person对象转换成Json字符串     
  25.    var  personAsJSON  =  JSON.stringify(person);    
  26.    alert( " Car object as JSON:\\n  "   +  personAsJSON);    
  27.        
  28.    var url = "JSONExample?timeStamp="+new Date().getTime();    
  29.        
  30.    createXMLHttpRequest();    
  31.    xmlHttp.open("POST",url,true );    
  32.    xmlHttp.onreadystatechange  =  handleStateChange;    
  33.    xmlHttp.setRequestHeader("Content-Type" ,"application/x-www-form-urlencoded");        
  34.    xmlHttp.send(personAsJSON);    
  35. }    
  36.     
  37. function  handleStateChange()  {    
  38.     if (xmlHttp.readyState  ==   4 )  {    
  39.         if (xmlHttp.status  ==   200 )  {    
  40.             parseResults();    
  41.         }     
  42.     }     
  43. }    
  44.     
  45. function  parseResults()  {    
  46.     var  responseDiv  =  window.document.getElementById("responseDiv");    
  47.     var content = xmlHttp.responseText    
  48.     responseDiv.value = content;    
  49. }   




下面是处理的Servlet




Java代码  


文本格式 复制代码 打印 ?
  1. public class JSONExample extends HttpServlet{    
  2.     protected void doPost(HttpServletRequest req, HttpServletResponse resp)    
  3.             throws ServletException, IOException {    
  4.         String json  =  readJSONStringFromRequestBody(req);    
  5.             
  6.         // Use the JSON-Java binding library to create a JSON object in Java     
  7.         JSONObject jsonObject  =   null ;    
  8.         String responseText = null;    
  9.         try{    
  10.            //将json字符串转化为JsonObject对象    
  11.            jsonObject  =   new  JSONObject(json);    
  12.            String gender = jsonObject.getBoolean("gender")?"男":"女";    
  13.            responseText  =   "You name is  "   +  jsonObject.getString( "name" )  +   " age is  "     
  14.            +  jsonObject.getInt( "age" )  +   "  gender is "   + gender    
  15.            +  "  birthday is  "   +  jsonObject.getString( "birthday" );    
  16.            System.out.println("responseText="+responseText);    
  17.         }     
  18.          catch (Exception pe)  {    
  19.            System.out.println( " ParseException:  "   +  pe.toString());    
  20.         }     
  21.         //设置字符集,和页面编码统一    
  22.         resp.setCharacterEncoding("utf-8");    
  23.         resp.setContentType( "text/xml" );    
  24.         resp.getWriter().print(responseText);    
  25.     }    
  26.     
  27.     //读取传递过来的信息    
  28.     private  String readJSONStringFromRequestBody(HttpServletRequest request) {    
  29.         StringBuffer json  =   new  StringBuffer();    
  30.         String line  =   null ;    
  31.         try   {    
  32.             BufferedReader reader  =  request.getReader();    
  33.             while ((line  =  reader.readLine())  !=   null )  {    
  34.                 json.append(line);    
  35.             }     
  36.         }     
  37.           catch (Exception e)  {    
  38.             System.out.println( "Error reading JSON string:  "   +  e.toString());    
  39.         }     
  40.          return  json.toString();    
  41.     }     
  42. }   

本文转载自 http://www.itjianghu.net/120107/40915876215277823.htm

你可能感兴趣的:(java,Ajax,项目,休闲,清理)