zoukankan      html  css  js  c++  java
  • Servlet系列教材 (二十六)- JSON

     

    步骤1:先运行,看到效果,再学习
    步骤2:模仿和排错
    步骤3:效果
    步骤4:资源
    步骤5:GetOneServlet
    步骤6:web.xml
    步骤7:getOne.html
    步骤8:测试

    步骤 1 : 先运行,看到效果,再学习

    老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。

    步骤 2 : 模仿和排错

    在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。 
    模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 
    采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 

    推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 
    这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 
    这里提供了绿色安装和使用教程:diffmerge 下载和使用教程

    步骤 3 : 效果

    访问地址:
     

    http://127.0.0.1:8080/getOne.html

    效果

    步骤 4 : 资源

    要运行起来需要jquery.min.js,各种jar包,都在下载区(点击进入)的j2ee.rar中提供,请自行下载解压获取。

    步骤 5 : GetOneServlet

    1. 创建一个Hero对象
    2. 创建一个JSONObject 对象
    3. 把Hero对象转换为JSONObject 对象,并放在上一个JSONObject对象上,key是"hero"
    4. 设置编码方式为UTF-8
    5. 通过response返回

    import java.io.IOException;

    import java.io.Writer;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import net.sf.json.JSONObject;  

       

    public class GetOneServlet extends HttpServlet {  

        protected void service(HttpServletRequest request, HttpServletResponse response)  

                throws ServletException, IOException {

              

            Hero hero = new Hero();

            hero.setName("盖伦");

            hero.setHp(353);

             

            JSONObject json= new JSONObject();

       

            json.put("hero", JSONObject.fromObject(hero));

            response.setContentType("text/html;charset=utf-8");  

            response.getWriter().print(json);

        }  

    }  

    步骤 6 : web.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app>

        <servlet>

            <servlet-name>SubmitServlet</servlet-name>

            <servlet-class>SubmitServlet</servlet-class>

        </servlet>

        <servlet-mapping>

            <servlet-name>SubmitServlet</servlet-name>

            <url-pattern>/submitServlet</url-pattern>

        </servlet-mapping>

        <servlet>

            <servlet-name>GetOneServlet</servlet-name>

            <servlet-class>GetOneServlet</servlet-class>

        </servlet>

        <servlet-mapping>

            <servlet-name>GetOneServlet</servlet-name>

            <url-pattern>/getOneServlet</url-pattern>

        </servlet-mapping>

    </web-app>

    步骤 7 : getOne.html

    1. 点击按钮之后,通过ajax访问getOneServlet
    2. 获取都数据后,通过JSON.parse 转换为json对象
    3. 获取name和hp
    4. 显示在div里

    <!DOCTYPE html>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  

    <title>用AJAX以JSON方式获取数据</title>  

    <script type="text/javascript" src="jquery.min.js"></script>  

    </head>  

    <body>  

        <input type="button" value="通过AJAX获取一个Hero对象" id="sender">   

       

        <div id="messageDiv"></div>  

           

        <script>  

        $('#sender').click(function(){  

            var url="getOneServlet";  

            $.post(

                    url, 

                    function(data) { 

                         var json=JSON.parse(data);  

                         var name =json.hero.name;  

                         var hp = json.hero.hp;

                         $("#messageDiv").html("英雄名称:"+name + "<br>英雄血量:" +hp );

                          

             });   

        });  

        </script>  

    </body>  

       

    </body>

    </html>

    步骤 8 : 测试

    重启Tomcat,访问地址:

    http://127.0.0.1:8080/getOne.html


    更多内容,点击了解: https://how2j.cn/k/servlet/servlet-get-one-json/1324.html

  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615400.html
Copyright © 2011-2022 走看看