Ajax+Jsp+servlet+json技術的使用


Ajax+Jsp+servlet+json技術的使用

 

在使用json的時候,記得必須導入如下幾個.jar包,最好是手動復制.jar包只lib路徑下,否則可能出現異常。

commons-beanutils.jar     commons-collections.jar   commons-lang-2.5.jar(必須是2.x  3.x的會報ClassNotFoundException這個異常)   commons-logging.jar  ezmorph-1.0.6.jar  json-lib.jar.導入這些jar包以后,就可以在后台 使用json來進行數據處理了。

 

JSONArray的使用:

這里做一個簡單的示例:

定義一個Person類:

public class Person{

   private String name;

   private String sex;

   private int age;

   ....

}

假如我們在servlet中使用了json

public class Test extends HttpServlet{

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  doPost(req, resp);
 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  // TODO Auto-generated method stub
  resp.setContentType("text/xml;character=utf-8");
  resp.setHeader("Cache-Control", "no-cache");
  try{
   Person p =new Person();
   p.setName("小寶");
   p.setAge(3);
   p.setSex("男");
   List<Person> list =new ArrayList<Person>();
   list.add(p);
   try{
    JSONArray json =JSONArray.fromObject(list);
    JSONObject jb =new JSONObject();
    jb.put("person", json);
    resp.getWriter().write(jb.toString());
   }catch(IOException e){
    e.printStackTrace();
   }
  }catch(Exception e){
   e.printStackTrace();
  }
 }

}

前台的Ajax接收到后台返回json的數據

<script type="text/javascript">
     function validate(obj){
      var xmlhttp;
   if(window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
   }else{
    xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
   }
   xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){          
        var back =xmlhttp.responseText;
        //在這里遍歷輸出返回來的信息即可      

    }
   }
   var url ="fan/servlet/demo?name="+obj;   
   xmlhttp.open("POST",url,true);
   xmlhttp.send();
     }
</script> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM