文章目录

  • AJAX 异步请求
    • 简介
    • Jquery 版 Ajax
      • $.ajax() — Jquery提供的 ajax 函数
      • 注册验证用户名是否可用
      • $.get() 与 $.post()
      • Ajax 返回数据类型
    • JSON
      • json 简介
      • JSON 对象
      • JSON 数组
      • 对象数组混合格式
      • 小结
    • JSON 应用
      • JSON 对象的使用
      • JSON 数组的使用
      • 响应的 json 数组
      • 数组对象混合格式
    • Jackson 工具
      • 简介
      • jackson 工具的使用
      • jackson 转换对象

AJAX 异步请求

简介

Ajax 全称为 Asynchronous JavaScript And Xml -- 异步 js 和 xml,用来进行交互式网页的制作;也是一种动态的网页开发技术,在不加载整个页面的前提下进行页面局部内容的刷新;Ajax 在后台与服务器进行少量的数据交互,使用网页实现异步更新,比传统的刷新整个页面带给服务器的压力要小很多;让程序的运行更加顺畅;Ajax 分为原生 js 实现和 Jquery 框架实现;原生的 Ajax 需要定义 XmlHttpRequest 对象,通过该对象的 open 方法和 send 方法进行请求方式的设置和请求发送,当请求发送到指定 url,被服务器接受并处理,再响应给页面数据;Jquery 提供的 ajax 是一个封装好底层实现的函数,只需要进行一些参数设置就能实现ajax 请求的发送;

Jquery 版 Ajax

$.ajax() – Jquery提供的 ajax 函数

格式:$.ajax({url:"请求地址",data:{},type:"post/get",async:true/false,dataType:"text/json",success:function(obj){},error:function(){}})url:与 form 表单的 action 属性一致,表示请求发送的地址data:请求发送时携带的参数,以传统的 key=value 方式进行发送type:请求发送的方式,对应 form 表单的 method 属性async:是否支持异步请求发送,true 表示支持异步请求,默认为 truedataType:服务器响应给页面的数据类型,text、html、json、xml;其中 json 格式的数据时最好处理的数据类型;success: 请求响应成功调用的回调函数,如果响应成功,会将响应的数据封装到回调函数的参数中,在 obj 对象中进行响应数据的获取error: 请求响应失败后的回调函数,一般不写;在真正使用 ajax 进行异步请求发送时,不是所有的属性都需要写,除了 url 属性,其他属性都是可选属性;

注册验证用户名是否可用

register 页面

servlet 类

service 层

dao 层

$.get() 与 $.post()

$.get() 与 $.post() 是 $.ajax() 的二次封装,分别针对 get 请求和 post 请求的 ajax;$.get():只能处理 get 方式请求$.post():只能处理 post 方式请求语法:$get/post("请求地址",{key:value,key:value},function(){},"text")注意:$.ajax() 和 $.get() 与 $.post() 实现的功能是一样的,但是$.get() 与$.post() 在进行属性书写时顺序有严格要求;

Ajax 返回数据类型

Ajax 支持多种返回值类型,主要有以下几种:① xml:太复杂、解析起来比较麻烦,已被淘汰② text/html:表示文本,一般情况下 html 使用 text 代替,因为 html 虽然说是页面,但是本质和文本一样;③ script:返回脚本④ json:json 对象,是一种在页面上操作起来相对简单的数据类型,非常方便页面值获取,是后续学习中首选的返回数据类型⑤ jsonp:和 json 几乎一样,只不过 jsonp 支持跨域访问

JSON

json 简介

json 全称为 JavaScript Object Notation – js 对象简谱,是一种轻量级的数据
交换格式;它是基于 ECMAScript,采用独立的编程语言的文本格式进行储存和表示数据。该
语言简介、层次分明、易于浏览器解析换和生成对应的数据;目前是较为理想的数据交换语
言,易于编程人员阅读、编写、操作;
json 格式的数据分为:json对象、json数组、对象数组混合格式
json 在线解析工具:www.bejson.com
① 能够进行 json 数据格式校验
② 能够将不规范的 json 数据就行格式化

JSON 对象

格式:{"key":"value","key2":"value2"}例如:表示一个有 name 和 age 属性的对象{"name":"张三","age":"20"}

JSON 数组

与 java 的 Object 类型的一维数组表示方式一致。格式:[1,2,3,"apple"]

对象数组混合格式

数组内部嵌套对象,或者对象内部嵌套数组;格式:[{"key":"value","key1":["value1","value2","value3"]},{"key":"value","key1":["value1","value2","value3"]},{"key":"value","key1":["value1","value2","value3"]}]

小结

① JSON 格式的语法是使用 {} 或者是 [],{} 表示对象,[] 表示数组;对象中数据的获取方式是通过 key 值获取 value 值数组中数据的获取使用通过索引进行获取② 对象中数据的储存是以 key:value 的形式,多个数据之间使用 ',' 隔开③ 数组中数据的储存是以单个元素进行,多个数据之间使用 ',' 隔开

JSON 应用

JSON 对象的使用

jsp 页面

servlet

service 层

dao 层

运行结果

JSON 数组的使用

servlet 类

响应的 json 数组

jsp 页面

运行结果

数组对象混合格式

servlet

servlet 响应的数据

jsp 页面获取数据

第一种方式 – 有缺陷,需要事先知道数组大小

第二种方式 – 具有通用性

运行结果

Jackson 工具

简介

Jackson 是一个可以将各种类型的数据转换为 json 字符串的工具;能够对常用对象、数组、集合等类型的数据快速的转换为 json 字符串,能够大幅度的提升开发效率;Jackson 工具的使用需要依赖3个 jar 包:① jackson-core② jackson-databind③ jackson-annotations

jackson 工具的使用

将 jar 包导入项目


将新添加的 jackson jar 包加入到服务器中

jackson 转换对象

servlet 类

响应给页面的数据

jsp 页面进行响应数据的获取

运行结果