J2EE Web开发使用Ajax技术的

核心所在

 

 

 

作者:Henry Yu

日期:2007-11-20

邮件:yuhaodong@gmail.com

 

 

 

 


目录

1.     前言.... 1-3

2.     开发模式化.... 2-3

2.1    Javascript客户端组件... 2-4

2.1.1    Request 2-4

2.1.2    Response. 2-5

2.2    服务端组件... 2-6

2.2.1    ICommonAjax子控制接口... 2-6

2.2.2    AjaxRequest请求参数对象... 2-7

2.2.3    AjaxResponse结果响应对象... 2-7

2.3    示例... 2-8

3.     数据格式透明化.... 3-11

3.1    基本数据类型... 3-11

3.2    自定义数据对象... 3-13

3.3    数据列表集... 3-14

3.4    复杂数据对象... 3-16

4.     数据解析与展示.... 4-16

4.1    基础DOM编程... 4-17

4.1.1        示例1:(利用DOM操作页面元素,固定填充)... 4-17

4.1.2        示例2:(利用DOM动态生成表格)... 4-19

4.2    jQuery编程... 4-21

4.2.1        示例1:(利用jQuery,固定填充)... 4-21

4.2.2        示例2:(利用jQuery,动态生成表格)... 4-21

4.3    高级UI 4-22

4.3.1        示例1:(<form>表单元素)... 4-23

4.3.2        示例2:(<table>表格)... 4-23

4.3.3        示例3:(tree树)... 4-24

5.     其它话题.... 5-24

5.1    同步与异步... 5-24

5.2    AOP横切编程... 5-26

5.3    ServerPush技术... 5-29

6.     结束语.... 6-29

 

1.       前言

最近,经常收到网友的Email,问现有的Beetle Web框架对Ajax开发支持的情况。Ajax是现在不能回避的话题了。Beetle Web框架提供了一个Ajax控制器功能模块,对Ajax提供了强而有力的支持。

事实上,纯粹讨论Ajax技术本身是没有多大意思的,因为其核心是XMLHttpRequest组件,它的使用是十分简单的。我们关心是Ajax技术的引入对现有传统J2EE Web开发方式的影响和挑战,进而论述Beetle Web框架封装Ajax的理念和机制,从而最终了解J2EE Web开发使用Ajax技术的核心所在。

先回顾一下Ajax技术引入对传统Web开发挑战:

n           开发方式模糊

传统的MVC开发方式可以说是深入民心了,Ajax引入使得传统以Html内嵌javajsp视图“消失了”,代替的是发起请求的页面本身,而此时视图展现内容的方式,主要是Javascript操作Html。这种转变打破了传统方式易于开发、维护等的优雅特性,使得开发模糊化,复杂化。特别地,当前市场上提供了形形色色的所谓Ajax框架,它们开发模型和理念也是千变万化,各不相同。这进一步模糊了Web开发模式,使得Web开发更加复杂化。

n           系统异构性

传统模型是纯服务端编程,ModelViewController都是由java单一语言开发,不存在语言差异性带来的数据对象序列化问题;Ajax的引入使得View必须由Javascript语言开发,使原来纯粹服务端编程模型演变成“客户端--服务端”的异构编程模型。