zoukankan      html  css  js  c++  java
  • JSON学习笔记

    今天做了一个在网页上显示股票动态更新的效果图。

    可是最后却因为IDE的不同,而造成了很大的后果,就是:很不高兴!!!

    事情是这样的:

    刚开始,是使用MyEclipse来写代码的。MyEclipse自身集成了很多的工具,而且好多东西不用自己手动设置就可以配置的很好。可是这对于像我这种初学者而言,这是很不好的。

    刚开始用MyEclipse写的时候,只需将主要的代码写完就OK了。

    后来换到Eclipse,就是一直有报错。

    具体代码如下(只显示主要代码):

    1,ActionServlet部分;

    if ("/quoto".equals(action)) {
                // 模拟生成几只股票的信息
                List<Stock> stocks = new ArrayList<Stock>();
                Random r = new Random();
                for (int i = 0; i < 8; i++) {
                    Stock s = new Stock();
                    s.setCode("60023" + i);
                    s.setName("峰铜电子" + i);
                    s.setPrice(r.nextInt(500));
                    stocks.add(s);
                }
                // fromObject方法也可以传进来数组
                JSONArray jsonObj = JSONArray.fromObject(stocks);
                String jsonStr = jsonObj.toString();
                out.println(jsonStr);
            }

    2,stock.jsp部分:

    <%@page pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>
    <html>
    <head>
    <style>
    #d1 {
        500px;
        height: 400px;
        background-color: black;
        margin-left: 400px;
        margin-top: 30px;
    }

    #d2 {
        color: yellow;
        height: 40px;
        background-color: red;
    }

    table {
        color: white;
        font-size: 24px;
        font-style: italic;
    }
    </style>
    <script type="text/javascript" src="js/ajax.js">
    </script>
    <script type="text/javascript" src="js/prototype-1.6.0.3.js">
    </script>
    <script type="text/javascript">
        function showStock() {
            setInterval(quoto, 1000);
        }
        function quoto() {
            var xhr = getXhr();
            xhr.open('get', 'quoto.do', true);
            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    var txt = xhr.responseText;
                    //将json字符串转换成js对象
                    var arr = txt.evalJSON();
                    var trs = '';
                    for (i = 0; i < arr.length; i++) {
                        var s = arr[i];
                        trs += '<tr><td>' + s.code + '</td><td>' + s.name
                                + '</td><td> ' + s.price + '</td></tr>';
                    }
                    $('tb1').innerHTML = trs;
                }
            };
            xhr.send(null);
        }
    </script>
    </head>
    <body style="font-size: 30px;" onload="showStock();">
        <div id="d1">
            <div id="d2">股票实时行情</div>
            <div id="d3">
                <table width="100%">
                    <thead>
                        <tr>
                            <td>代码</td>
                            <td>名称</td>
                            <td>价格</td>
                        </tr>
                    </thead>
                    <tbody id="tb1">
                    </tbody>
                </table>
            </div>
        </div>
    </body>
    </html>

    3,ajax.js部分
    function getXhr() {
        var xhr = null;
        if (window.XMLHttpRequest) {
            xhr = new XMLHttpRequest();
        } else {
            xhr = new ActiveXObject('MicroSoft.XMLHttp');
        }
        return xhr;
    }

    整体基本就这样了。但是在TOMCAT上运行时,总是出现找不到'quoto.do'的错误提示。进行了若干种锚点测试和各种检查,还是没发现问题原因。但是这段代码在MyEclipse上运行就没半点问题。

    后来,真的没什么耐性了,就一行一行的对比代码,可是CV大法什么时候出过错呢?结果还是失败。

    休息了一会儿,再看代码,从一个旁观者的角度去看,根本就没把运行的问题放在心上,然后就是以这种心态,终于找到原因了:

    很坑的原因:在MyEclipse中,xml文件是自动配置好的,无需人工参与;但是在Eclipse中,TM就得纯手工去配!!!!!!!!!!!!

    一个一个的去配置各种参数。

    然后,就是那个参数少了个*.do的路径,所以,一切的运行都是扯淡!!!

    此时的心情就不用去说了。整整一天的时间,全都浪费在这里了。

    总结:

    各种IDE,各种不同的配置文件的生成和手工,各种设置的参数不同。

    ps:还没在NetBeans上测试,也幸好没在那上面测试,不然坑更大。

    或许会让我从此与Eclipse为路人。

    教训在此了,写下来,然后都来嘲笑我吧。

    ~瞧,这个白痴,还在码楼~

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/SummerinShire/p/4665604.html
Copyright © 2011-2022 走看看