书山小站

记录我的程序人生

[JAVA开发☕]AJAX 和 JSON

请输入图片描述

AJAX

  • 概念:异步的ajax 和 XML
  • AJAX 作用

    • 与服务器进行数据交换,通过 AJAX可以给服务器发送请求,并 获取服务器响应的数据
    • 通过AJAX发送浏览器的请求 与 Servlet沟通
    • 使用AJAX和服务器通信 , 可以和 HTML+AJAX 来替换JSP页面了
    • 使得前后端分离
    • 异步交互: 可以在不重新加载整个界面的情况下,与服务区交换数据并更新部分网页的技术

      • 如: 搜索联想 、用户名是否可校验,等等
      • 同步 和 异步

        • 同步: 客户端发送请求等待服务端响应
        • 异步: 客户端发送请求等待服务器响应的过程中, 可以进行其他操作

AJAX 快速入门

  • 给服务端发送请求 并 获取 服务端的响应

发送请求

  • xmlhttp.open("GET","URL");
  • xmlhttp.send();
xmlhttp.open("GET","URL");
xmlhttp.open(请求方式,请求资源的链接地址,是否是异步);

接收服务器响应数据
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.statu == 200){

    alert(xmlhttp.responseText);

}

}

AJAX案例 验证用户是否存在

  • 在完成用户注册时,当用户名失去焦点的时候,验证用户名是否在数据库里面存在

    • 项目中的register.html
    • ajax_select_user

AXIOS

  • AXIOS 是 一个基于promise的网络请求库
  • 使用axios发送请求,并获取响应结果

    axios({method:"get",url:"xxx?username=xx"}).then(function (resp){....});
    axios({method:"post",url:"xxx",data="xxx"}).then(function (resp){....});
    

AXIOS 请求方式别名

  • axios.get(url[,config])
  • axios.post(url,请求参数[,config])

发送get请求 和 发送post请求

 axios.get("url").then(function(resp){..})
 axios.post("url",请求参数).then(function(resp){..})

111

JSON

  • JSON语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输。
  • JavaScript对象表示法
  • JavaScript对象

     {
         name: "zhangsan",
         age:23
     }
  • JSON

    {
    "name" : "zhangsan",
    "age"  : 23
    }
  • 目录

    • JSON基础语法
    • JSONs数据和java对象转换

JSON基础语法

  • 定义

    var 变量 = '{"key":value,"key":value,...}'
  • value的数据类型

    • 数字 (直接填入整数)
    • 字符串(在引号里面)
    • 逻辑值(true 或 false)
    • 数组(在方括号里面)
    • 对象(在花括号里面)
    • null
  • json例子

    • thiree_json_start.html
    • JSON.parse 方法转化json字符串
    • 对象转化为JSON

      • let s = JSON.stringify(parse);
    • Axios中 ,json 字符串和JS对象自动转换
服务端接收

BufferedReader reader = request.getReader();
String s = reader.readLine();
System.out.println(s);

JSON 数据和JAVA对象转换

  • 请求数据: JSON字符串转化为JAVA对象
  • 响应数据: java对象转化为JSON对象

JSON JSON对象转换

  • Fastjson对象
  • Java语言中最快的JSON库,实现JAVA对象和JSON字符串相互转换
  • alibaba开发的 NB
使用步骤
  • 导包

    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>2.0.17</version>
    </dependency>
  • JAVA对象转json
 String jsonStr = JSON.toJSONString(obj);
  • JSON字符串转JAVA对象
User user = JSON.parseObjects(jsonStr,User.class );
  • 例子代码

          seven_user xiaoming = new seven_user();
          xiaoming.setId(1);
          xiaoming.setName("王小明");
          xiaoming.setPassword("decade");
          String s = (String) JSON.toJSONString(xiaoming); // 解析
          System.out.println(s);
          seven_user parse = JSON.parseObject(s, seven_user.class); // 从字符串到 对象
          System.out.println(parse);

发表评论

电子邮件地址不会被公开。 必填项已用*标注