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> 

  • 相关阅读:
    Highcharts 柱图 每个柱子外围的白色边框
    进阶ES6 点滴认知
    layer 问题 汇总
    iframe 常见问题 解析
    【腾讯开源】前端预处理器语言图形编译工具 Koala使用指南
    ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
    Sass 混合宏、继承、占位符 详解
    git 命令篇
    git 继续前进篇
    zh-cn en-uk、zh-tw表示语言(文化)代码与国家地区对照表(最全的各国地区对照表)
  • 原文地址:https://www.cnblogs.com/superjt/p/3281929.html
Copyright © 2011-2022 走看看