ajax json java,ajax_json,json与ajax

ajax_json,json与ajax

AJAX框架Day1

1、Ajax引言

a)       概念 AsynchronousJavascript AndXML (异步请求 javaScript  And  XML)

14ab0d2b9842d673f17fecc8f00ffbbf.png

b)      传统的请求

传统请求的问题

因为传统请求响应的是新的页面(刷新了页面)。所以用户就必须要等待响应结果,才可以进行后续的操作。

用户体验差。

建议在合适的场景下,都使用异步请求,提高用户的体验

2、异步请求的开发

a)   异步请求对象的创建

javascript: XmlHttpRequest对象 xhr

Chrome|FF|safari中

XmlHttpRequest

var xhr = new XmlHttpRequest();

IE(ie5 ie6)中 ActiveXObject

var xhr = new ActiveXObject(“Microsoft.XMLHTTP”);

b)

xhr对象的使用

bd428359f92f78163234971cbd502a11.png

3、用户名检测的案例

21bd0b48aae08f0b6523c59435405d4e.png

不再跳转

2d819cdddf7936ba23126bf9c627fc7d.png

50edd1b3d637b6977c1e7ddccffe1666.png

控制表单是否提交,提交时检测

4、Ajax的开发步骤

095de01b53291813b8ff5c31a55be98b.png

dec6cfc1f857b0c571739d3d9ba61f2a.png

a3585a09982c1f8568d0af5fc459e8f7.png

a)

创建异步请求

IE系

xhr = new ActiveXObject(“Microsoft.XMLHTTP”);

非IE系 xhr

= new XmlHttpRequest();

b)

发送请求

queryString

xhr.open(“GET”,URL?name=suns&pwd=123&sex=male);

xhr.send(null);

xhr.open(“POST”,url,true(是否使用异步));

xhr.setRequestHeader(“content-type”,”application/x-www-form-urlencoded”);

为什么设置:模拟表单

基本Web的开发 只能使用表单提交数据,使用表单提交数据时默认指定

enctype=”application/x-www-form-urlencoded”,但是现在使用ajax编程,不再使用

请求头中手工设置application/x-www-form-urlencoded来模拟表单。

xhr.send(“name=suns&pwd=123&sex=male”);,传递数据要加引号,

4b8cf24a69546f9f83a5a745af533717.png

c)

监听响应

xhr.onreadystatechange = function(){

if(xhr.readyState==4&&xhr.status==200){

xhr.responseText

DOM编程

}

}

d)

服务器端:

不再进行页面的跳转,而是通过返回字符串信息,完成交互

request作用域 不使用

底层就是使用Response.getWriter()获取输出流 进行交互

5、JSON协议串

JSON协议串,本质上就是一个字符串。

94a1a60a6ba9d2f401988cd9162c46d6.png

a)

作用:异构的编程体系中,进行数据的传输,交互。

b)

核心:

注意map是当做对象来写,大括弧

a)

Json字符串的属性名与对象属性名不一致的问题

94eb406ef330522799b87b66f7d2dde3.png

b)

解决对象回环问题

9450a8fb5926dbe1812eb0ae7a887f62.png

太不灵活,复杂都用gsonbuilder

可以指定多个排除策略,更灵活

c)

特殊的日期类型问题

6、案例 :应用Ajax技术实现 显示所用用户的信息

d370809ccc01baaa45536a87b152b865.png

AJAX框架Day2

1、SpringMVC对于Ajax的支持

a)

底层整合 原始整合

aa2165a86c1e85fb56a40cc1c5fbb291.png

b)

通过@ResponseBody

SpringMVC自动的把对象转换成JSON串,并通过字符输出流输出。

注意:@ResponseBody封装的对象转换JSON的组件为

jackson

环境搭建:引入jackson相关的jar包

开发步骤;

5f8658499ede666ec66fbf06c0864239.png

日期类型的格式

@JsonFormat(pattern="yyyy-MM-dd")

空值类型不转换

@JsonInclude(Include.NON_NULL)

如何忽略某个属性

@JsonIgnore

中文字符集会自动处理

原来处理方法

6fbc873364c96700f3ac8124a918990f.png

基于实战自动日期处理与空值处理

72297ad500f32e4107f0174ab24fc7d6.png

2、Struts2与Ajax技术集成

dfa098e66bd37bea1338cfe7ce38215c.png

3、基于Ajax的编程方式思考:

现在的开发体系中,除了使用一个ajax的ui框架(easyui ext dojo)进行编程之外,剩下所用的应用,在开发时,都应该部分环节中使用ajax.

1

局部操作 与 服务器端交互

2 最好结构简单

a2c1fecadfd20a30c48fb1fd917bbf50.png

相关文章暂无相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值