• Servlet从数据库取数据打包成json然后传值到前端


          后端用get或者post从数据库取的数据如何打包成json:

       需要下载json的jar包,这里有:http://download.csdn.net/detail/zhangy0329/607838

            Connection ct = null;  
            Statement  sm = null;  
            ResultSet rs = null;
              try{     
                Class.forName("com.mysql.jdbc.Driver");     //连接mysql数据库 
                ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8","用户名"              , "密码");
                sm = ct.createStatement();
                rs = sm.executeQuery("select *from 表名");
               
                JSONArray jsonData = JSONArray.fromObject(convertList(rs));      //先转成List格式,再转成json格式
    
                System.out.println(jsonData.toString());
    PrintWriter out
    = response.getWriter(); //把json数据传递到前端,记着前端用ajax接收 out.print(jsonData); } catch(Exception ex) { //error 代码 }

      数据库取的数据转成List的操作函数:

        private static List convertList(ResultSet rs) throws SQLException {
            List list = new ArrayList();
            ResultSetMetaData md = rs.getMetaData();
            int columnCount = md.getColumnCount();
            while (rs.next()) {
                Map rowData = new HashMap();
                for (int i = 1; i <= columnCount; i++) {
                    rowData.put(md.getColumnName(i), rs.getObject(i));
                }
                list.add(rowData);
            }
            return list;
        }

           前端使用jQuery解析json:

               success : function(Result)
               {
       //Result是jsonArray字符串 $.each(eval(Result),
    function (index, item) { //index为序号,相对于json格式的Result而言,从0,1,2,3...到Result的长度减1,item就是每条jsonObject,
                 //取值就是:item.属性名,如item.name, item.id, item.number.....
    }); },
    既然选择了远方,便只顾风雨兼程
  • 相关阅读:
    【Python】使用socketserver建立一个异步TCP服务器
    阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍
    练习题|并发编程
    log4j写数据库存在单引号问题
    javascript复制网页表格内容
    在cxf中使用配置避免增加字段导致客户端必须更新的问题
    启用了不安全的 HTTP 方法
    会话标识未更新
    跨站点请求伪造
    java操作properties文件
  • 原文地址:https://www.cnblogs.com/Forever-Road/p/6107031.html
Copyright © 2020-2023  润新知