zoukankan      html  css  js  c++  java
  • 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> 

  • 相关阅读:
    Java—数据库技术
    Java—泛型
    Java—图形处理
    Java—网络技术
    vb.net 分割byte数组的方法SplitBytes
    动态支付宝转账码可指定金额备注无限秒生成的方法
    关于支付宝个人账户免签收款自动备注
    vb.net MakeWParam
    Vb.net MakeLong MAKELPARAM 合并整数代码
    百度图片objURL解密vb.net版
  • 原文地址:https://www.cnblogs.com/superjt/p/3281929.html
Copyright © 2011-2022 走看看