首页 > 编程语言 >Javaweb基础复习------JSON相关知识

Javaweb基础复习------JSON相关知识

时间:2022-10-31 09:33:52浏览次数:71  
标签:username Javaweb resp JSON user ------ password id

JSON(JavaScript对象表示法)

首先,我们需要知道的是,要使用json语法的话,就需要在Maven项目中导入相关的包,可以参考我之前发过的那个Maven导包那个网址,在里面找到这个页面:

或者,可以直接点击这里进行跳转:https://mvnrepository.com/artifact/com.alibaba/fastjson/1.2.59

然后将相关的导包导入到项目里面去即可

JSON在html中的基础语法:

将Java对象转为json字符串

//java对象转为json对象
        
        User user=new User();
        user.setUsername("zhangsan");
        user.setPassword("123456");
        user.setId(123456);
        
        String JsonString=JSON.toJSONString(user);
        System.out.println(JsonString);

将json字符串转为java对象

//json对象转为java对象
        
        User u=JSON.parseObject("{\"id\":1,\"username\":\"zhangsan\"password\":\"123456}",User.class);
        System.out.println(u);

案例(使用Axios+JSON实现列表数据的查询和添加):

//selectAllServlet.java
@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<User> list=us.selectAll();

        //转化为JSON对象
        String jsonString= JSON.toJSONString(list);

        resp.setContentType("text/json;charset=utf-8");
        resp.getWriter().write(jsonString);
    }


结果出来啦!(一定要将导包导入工件嗷!)


后端代码基本形式等同mybatis里面的应用

说明后端代码没问题!

前端代码:

<body>

<table id="brandTable">
    <tr align="center">
        <td>1</td>
        <td>刘紫锦</td>
        <td>20214063</td>
        <td><a href="#">修改</a> <a href="#">删除</a></td>
    </tr>

    <tr align="center">
        <td>2</td>
        <td>刘奕辰</td>
        <td>20214065</td>
        <td><a href="#">修改</a> <a href="#">删除</a></td>
    </tr>
</table>

<script src="js/axios.min.js"></script>
<script>
window.load=function() {
    axios({
        method:"get",
        url:""
    }).then(function(resp){
        //获取数据
        let users=resp.data;

        let tableData="<tr>\n"+
            "<th>id</th>\n"+
            "<th>username</th>\n"+
            "<th>password</th>\n"+
            "</tr>";

        for(let i=0;i<users.length;i++){
            let user=users[i];

            tableData+="<tr align=\"center\">\n"+
                "<td>"+user.id+"</td>\n"+
                "<td>"+user.username+"</td>\n"+
                "<td>"+user.password+"</td>\n"+
                "\n"+
                "<td><a href=\"#\">修改</a> <a href=\"#\">删除</a></td>"+
                "</tr>";
        }

        document.getElementById("brandTable").innerHTML="tableData";

    })
}
</script>
</body>

最后只是这样的一个效果啦!

新增案例(添加):

需要注意到的是,在后端,

req.getParameter();//是无法接收JSON数据的

所以,需要将JSON对象先转换成BufferedReader类型,然后再利用JSON对象转为java数据的方法,将其转换为字符串输出即可-->可行:

点击提交,即在控制台显示出上述界面

下面是html文件中的添加操作

<center>
  <form action="" method="post">
    <tr>
      <td>序号:</td>
        <td><input type="text" name="id" id="id"></td>
    </tr>
      <p>
      <tr>
          <td>用户名:</td>
          <td><input type="text" name="name" id="name"></td>
      </tr>
      <p>
      <tr>
          <td>密码:</td>
          <td><input type="text" name="password" id="password"></td>
      </tr>
      <p>
      <tr>
          <input type="button" id="btn" value="提交">
      </tr>
  </form>
</center>
<script src="js/axios.min.js"></script>
<script>
    //选择使用异步交互提交表单内容,需要给按钮绑定一个单击事件
    document.getElementById("btn").onclick=function(){
        //将表单数据转为JSON
        var formData={
            id:"",
            username:"",
            password:""
        }

        //获取表单数据
        let id=document.getElementById("id").value;
        formData.id=id;
        //获取表单数据
        let username=document.getElementById("username").value;
        formData.username=username;
        //获取表单数据
        let password=document.getElementById("password").value;
        formData.password=password;

        //发送ajax请求
        axios({
            method:"post",
            url:"http://localhost:8080/ttCookieLogin_war_exploded/ADDServlet",
            data:{formData}
        }).then(function(resp){
            //判断响应数据是否为success
            if(resp.data=="success"){
                location.href="http://localhost:8080/ttCookieLogin_war_exploded/axios.html";
            }
        })
    }
</script>

标签:username,Javaweb,resp,JSON,user,------,password,id
From: https://www.cnblogs.com/liuzijin/p/16842030.html

相关文章

  • 利用virtualenvwarrper管理虚拟环境
    一、背景python虚拟环境隔离的方法有很多,包括conda,virtualenv等。在不使用conda的情况下,virtualenv+virtualenvwarrper的方法会比较方便。网上例子有很多,这里记录一下自己......
  • JavaDoc生成自己的API文档
    JavaDoc的注释参数@author作者名@version版本号@since需要的最早java版本@param 函数参数@return返回值@throws异常抛出情况 生成JavaDoc步骤如下代码......
  • 3分钟,快速上手Postman接口测试
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试Postman是......
  • oracel将excel中的数据根据条件更新到对应的数据中sql脚本
    UPDATECUSTOMERSA--使用别名SET(CITY_NAME,CUSTOMER_TYPE)=(SELECTB.CITY_NAME,B.CUSTOMER_TYPEFROMTMP_CUST_CITYBWHER......
  • Ubuntu18.04中修改Ubuntu的外观(菜单栏放到屏幕下方)
    https://blog.csdn.net/hzx_728/article/details/91952512?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFrom......
  • vulnhub靶场之ICA: 1
    准备:攻击机:虚拟机kali、本机win10。靶机:ICA:1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/ica/ica1.zip.torrent,下载后直......
  • 032——集合
    集合集合的体系特点Collection的常用方法集合的遍历方式集合存储自定义类型的对象常见数据结构List系列集合补充知识:集合的并发修改异常问题补充知识:泛型深入......
  • 设计模式之外观模式
    概述根据单一职责原则,在软件中将一个系统划分为若干个子系统(Subsystem)有利于降低整个系统的复杂性,一个常见的设计目标是使客户类与子系统之间的通信和相互依赖关系达到......
  • 引导和服务
       引导过程1开机自检:服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多......
  • 磁盘管理
       磁盘磁盘管理的步骤1区分,2文件系统,3格式化,4挂载磁盘损坏数据没了,容错,提高性能raid逻辑卷空间动态化扩容,空间变大变小磁盘的结构扇区:盘片被分为多个扇形区域......