zoukankan      html  css  js  c++  java
  • ajax+json+java

    1.首先下载json所以依赖的包, Json-lib 最新版 json-lib-2.3-jdk15.jar,其官方网站是:http://json-lib.sourceforge.net/可以直接download,细心的你会发现其网站页面里面有提示它还需要其他包: 
    Json-lib requires (at least) the following dependencies in your classpath: 
    •jakarta commons-lang 2.4 
    •jakarta commons-beanutils 1.7.0 
    •jakarta commons-collections 3.2 
    •jakarta commons-logging 1.1.1 
    •ezmorph 1.0.6 
    下载地址分别是: 
    http://commons.apache.org/lang/ 
    http://commons.apache.org/beanutils/ 
    http://commons.apache.org/collections/ 
    http://commons.apache.org/logging/ 
    http://ezmorph.sourceforge.net/ 

    2.首先先见一个小web项目 
    User类: 

    package com.json;
    
    public class User {
        String username;
        String password;
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        
    }

    servlet :

    package com.json;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import net.sf.json.JSONArray;
    
    public class TestJson extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
               doPost(request,response);
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html");   
         String str= =request.getParameter("name");//得到ajax传递过来的paramater
    
            PrintWriter out = response.getWriter();
            List list = new ArrayList();//传递List
            Map m=new HashMap();//传递Map    
    
            User u1=new User();
            u1.setUsername("zah");
            u1.setPassword("123");
    
            User u2=new User();
            u2.setUsername("ztf");
            u2.setPassword("456");  
      
            list.add(u1); //添加User对象      
            list.add(u2);     //添加User对象  
          
            m.put("u1", u1);
            m.put("u2", u2);   
    
           JSONArray jsonArray2 = JSONArray.fromObject( list );
           //把java数组转化成转化成json对象 
           JSONObject jo=JSONObject.fromObject(m);
           //转化Map对象
    
           out.print(jsonArray2);//返给ajax请求
           out.print(jo);//返给ajax请求
        }
    }

    ajax实现:

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
         function test(){
             $.ajax({ 
                    type:"POST", //请求方式
                    url:"testjson", //请求路径
                    cache: false,   
                    data:"name=zah",  //传参
                    dataType: 'json',   //返回值类型
                    success:function(json){        
                        alert(json[0].username+" " json[0].password);    //弹出返回过来的List对象
                       }
                    });
          }
    </script>
    <body> <input type="button" name="b" value="测试" onclick=test()> </body>

    输出:zah 123 

    访问Map的话直接把返回函数改成如下即可: 

    success:function(json){ 
        alert(json.u1.username)
    }
  • 相关阅读:
    UVa10050 Hartals
    UVa540 Team Queue
    UVa 11234 Expressions (二叉树重建&由叶往根的层次遍历)
    stl lower_bound upper_bound binary_search equal_range
    【windows】使用键盘代替鼠标的快捷键
    【Linux】xshell连接中断后就无法连接虚拟机中的Linux
    【Linux命令】ls命令
    【DB2】NULLS LAST与NULLS FIRST
    【PPT】PPT倒计时动画的制作方法 5.4.3.2.1...
    【Datastage】函数大全
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4743843.html
Copyright © 2011-2022 走看看