• 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> 

  • 相关阅读:
    实时控制软件第四周作业
    实时控制软件第三次作业-编程作业(更新梯形加速并绘制轨迹)
    实时控制软件第三次作业(编程作业)-更新中
    实时控制软件设计第二周作业-停车场门禁控制系统状态机
    冰球游戏开发日志(四)
    冰球游戏开发日志(三)
    冰球项目开发日志(二)
    冰球项目开发日志(一)
    第四周作业
    第三周作业
  • 原文地址:https://www.cnblogs.com/superjt/p/3281929.html
Copyright © 2020-2023  润新知