王朝网络
分享
 
 
 

疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(附光盘1张)

王朝导购·作者佚名
 
疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(附光盘1张)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  参考价格: 点此进入淘宝搜索页搜索
  分类: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,Java,Spring,
  品牌: 李刚

基本信息·出版社:电子工业出版社

·页码:614 页

·出版日期:2009年

·ISBN:9787121084409

·条形码:9787121084409

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

·附带品描述:附光盘1张

产品信息有问题吗?请帮我们更新产品信息。

内容简介《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是《基于J2EE的Ajax宝典》的第二版。《基于J2EE的Ajax宝典》面市近2年,作为Ajax领域最全面、实用的图书,一直深受读者的好评。全书主要分为三个部分。第一部分介绍了XHTML、CSS、JavaScript和DOM编程等内容。第二部分详细介绍了Prototype、jQuery、DWR、AjaxTags等四个最常用的Ajax框架的用法,并针对每个框架提供了一个实用案例。这两个部分是笔者在“疯狂Java实训营”的培训讲义,是《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》的重点部分。第三部分则提供了2个综合性案例:Blog系统和电子拍卖系统,让读者将前面所学真正应用到实际项目中。

《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》绝大部分章节后都提供了相应的编程习题,供开发者巩固所学,将理论融入实际开发之用。关于这些编程习题的解题思路和参考答案可登录www.crazyit.org获取。

《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是疯狂Java体系丛书之一,前8章基本以XHTML、JavaScript和DOM编程为主,无须任何基础即可阅读;第9章以后的内容则需要掌握Spring、Hibernate等Java EE知识,建议先认真阅读疯狂Java体系的《轻量级Java EE企业应用实战》一书。

作者简介李刚,从事近10年的Java EE应用开发。

曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。

曾任广州电信、广东龙泉科技等公司的技术培训导师。

2007年3月26H的《电脑报》专访人物。

现任东方标准广州中心软件教学总监,曾兼任广东技术师范学院计算机科学系的兼职副教授。

培训的学生已在华为、立信、普信、网易、电信盈科、中企动力等公司就职。

国内知名的高端rr技术作家,已出版《疯狂Java讲义》、《轻量级Java EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》、《Spring 2.0宝典》等著作。

编辑推荐不知道是否有人仔细研究过笔者写的书,书中的长句是很少的——因为很多语句自己都会反复地调整,有兴趣的读者可以仔细体会一下这个特点。此外,《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》还有如下特点:

1.通俗易懂,适合自学

该书第一版作为培训教材近2年了.在吸收大量学习者的学习体会和心得的基础上,《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》重点讲解了学习过程中难以理解和掌握的知识点,降低了学习者的学习难度。

2.知识丰富,内容全面

正如该书的第一版,书中知识非常全面:XHTML、CSS、JavaScript、DOM、Event机制XMLHttpRequest、Prototype库、jQuery、DWR、AjaxTags等Ajax知识的相关内容.都可在《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》中找到详细的讲解。

3.深入实用,实践性强

《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》并不是一本Ajax的入门图书,《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》将Ajax技术融入轻量级Java EE开发,深入介绍了Ajax+Java EE整合开发的方法和步骤,对实际企业开发具有极好的指导意义。

疯狂源自梦想,技术成就辉煌。看得懂 学得会 做得出

目录

第1章 Ajax概述 1

1.1 重新思考Web应用 2

1.1.1 应用系统的发展史 2

1.1.2 传统Web应用的优势和缺点 4

1.2 重新设计Web应用 5

1.2.1 富Internet应用 5

1.2.2 异步发送请求,避免等待 7

1.2.3 使用Ajax 7

1.3 Ajax介绍 7

1.3.1 Ajax的工作方式 8

1.3.2 Ajax的核心:XMLHttpRequest 8

1.3.3 Ajax的编程脚本:JavaScript语言 9

1.3.4 HTML页面的DOM模型 9

1.3.5 数据交换和显示 10

1.4 Ajax的基本特征 10

1.4.1 异步发送请求 10

1.4.2 服务器响应是数据,而不是页面

内容 11

1.4.3 浏览器中的是应用,不是简单视图 11

1.5 Ajax的替代技术 11

1.5.1 Sun的Java Web Start技术 11

1.5.2 Microsoft的ClickOnce技术 12

1.5.3 基于Flash的Flex 12

1.6 搭建Ajax开发环境 13

1.6.1 本书的Ajax开发环境 13

1.6.2 安装Tomcat服务器 13

1.6.3 配置Tomcat的服务端口 15

1.6.4 进入Tomcat控制台 15

1.6.5 部署Web应用 17

1.6.6 配置Tomcat的数据源 18

1.6.7 安装Ant 19

1.6.8 Eclipse的下载和安装 21

1.6.9 在线安装Eclipse插件 21

1.6.10 手动安装Eclipse插件 22

1.7 调试JavaScript脚本 23

1.8 本章小结 24

第2章 Ajax初体验 25

2.1 Ajax带来的优势 26

即使使用Ajax技术,客户端和服务

器一样有网络通信延迟,尤其是当网

络状况不好时,通信延迟将更严重,

用户一样感受不到更新延迟吗? 27

2.2 开始传统的JSP聊天室 28

2.2.1 实现业务逻辑组件 28

2.2.2 实现控制器 31

2.2.3 实现视图 33

2.2.4 JSP聊天室的问题 34

2.3 Ajax聊天室 34

2.3.1 异步发送请求 35

使用Ajax技术是不是会带来更大

的工作量? 37

2.3.2 解决多余刷新的问题 37

2.3.3 解析服务器响应 39

2.3.4 何时发送请求 40

客户端频繁发送请求,难道不会加

重服务器负担? 41

2.3.5 Ajax聊天室的特点 44

2.4 Ajax编程的技术难点 44

2.5 传统Web应用与Ajax应用的对比 45

2.6 本章小结 46

第3章 XHTML语言详解 47

3.1 XHTML简介 48

3.1.1 HTML的作用和历史 48

在保存HTML 文件时,到底采用

.htm扩展名还是采用.html扩展名呢?

48

我应该使用FrontPage学习HTML文

档呢?还是使用Dreamweaver好? 49

3.1.2 HTML 4.01和XHTML 49

如果我使用XHTML编写互联网

页,会不会有浏览器不支持? 50

3.2 XHTML的基本语法 50

3.2.1 XHTML的基本结构和规则 50

3.2.2 XHTML和DTD 52

3.3 XHTML的常用标签 54

3.3.1 基本标签 54

3.3.2 文本格式化标签 55

如果我希望HTML页面内的文本更

美观,例如改变它们的颜色、背景

等,那该用什么标签呢? 57

3.3.3 超级链接和锚点 57

3.3.4 列表相关标签 58

3.3.5 图像相关标签 59

3.3.6 表格相关标签 61

3.3.7 框架相关标签 64

3.4 XHTML的表单标签 65

3.4.1 表单标签 66

3.4.2 使用input元素 67

前面的页面中包含5个单选框,为

何前面3个只能选中一个,后面2

个只能选中一个,但一共可以选择

2个呢? 69

3.4.3 使用label定义标签 69

在表单里直接定义普通文本不可以

作为标签吗?专门使用元

素定义标签有什么作用? 69

3.4.4 使用button定义按钮 70

3.4.5 列表框和下拉菜单 71

3.4.6 使用textarea定义文本域 72

3.5 XHTML头部和元信息 73

3.6 本章小结 74

本章练习 74

第4章 JavaScript语法详解 75

4.1 JavaScript简介 76

4.1.1 运行JavaScript 77

4.1.2 导入JavaScript文件 77

4.2 数据类型和变量 77

4.2.1 定义变量的方式 78

4.2.2 类型转换 78

4.2.3 变量 80

4.3 基本数据类型 82

4.3.1 数值类型 82

4.3.2 字符串类型 86

4.3.3 布尔类型 89

4.3.4 undefined和null 90

4.3.5 正则表达式 91

4.4 复合类型 93

4.4.1 对象 93

4.4.2 数组 93

4.4.3 函数 94

4.5 运算符 96

4.5.1 赋值运算符 96

4.5.2 算术运算符 97

4.5.3 位运算符 98

4.5.4 加强的赋值运算符 99

4.5.5 比较运算符 100

4.5.6 逻辑运算符 101

4.5.7 三目运算符 102

4.5.8 逗号运算符 103

4.5.9 void运算符 103

4.5.10 typeof和instanceof运算符 104

4.6 语句 104

4.6.1 语句块 105

4.6.2 空语句 105

4.6.3 异常抛出语句 105

4.6.4 异常捕捉语句 106

4.6.5 with语句 107

4.7 流程控制 108

4.7.1 分支 108

4.7.2 while循环 110

4.7.3 do while循环 111

4.7.4 for循环 111

4.7.5 for in循环 112

4.7.6 break和continue 113

4.8 函数 116

4.8.1 函数定义 116

4.8.2 局部变量和局部函数 117

4.8.3 匿名函数 118

4.8.4 函数和类 120

4.8.5 函数的实例属性和静态属性 121

4.8.6 递归函数 123

4.9 函数的参数处理 124

4.9.1 基本类型和复合类型的参数传递 125

4.9.2 空参数 126

4.9.3 参数类型 127

4.10 对象 128

4.10.1 面向对象的概念 129

4.10.2 对象和关联数组 129

4.10.3 继承和prototype 130

4.11 建对象 135

4.11.1 使用关键字new创建对象 135

4.11.2 使用Object直接创建对象 135

4.11.3 使用JSON语法创建对象 137

4.12 本章小结 140

本章练习 140

第5章 级联样式单详解 141

5.1 样式单概述 142

5.2 CSS的基本使用 143

5.2.1 引入外部样式文件 143

5.2.2 使用内部CSS样式 144

5.2.3 使用内联样式 146

5.3 使用CSS属性 147

5.3.1 文字相关属性 148

5.3.2 整体段落相关属性 150

5.3.3 背景相关属性 151

5.3.4 表格相关属性 152

5.3.5 大小相关属性 155

5.3.6 位置相关属性 155

5.3.7 边框相关属性 157

5.3.8 轮廓相关属性 159

5.3.9 三个常用属性 160

5.4 选择器定义 161

5.4.1 属性选择器 162

5.4.2 ID选择器 163

5.4.3 class选择器 164

5.4.4 包含选择器和子元素选择器 165

5.4.5 超级链接相关选择器 166

5.5 在脚本中修改显示样式 166

5.5.1 随机改变页面的背景色 167

5.5.2 卷帘效果 167

5.5.3 动态增加立体效果 169

5.6 本章小结 170

第6章 DOM模型详解 171

6.1 DOM模型概述 172

6.2 DOM模型和XHTML文档 173

6.2.1 XHTML元素之间的继承图 173

6.2.2 XHTML元素之间常见的包含

关系 174

6.3 访问XHTML元素 175

6.3.1 根据ID访问XHTML元素 175

如何让每个XHTML元素都有唯

一的id属性呢?以前我见到很多

XHTML页面元素并没有id属

性啊。 175

程序中为了访问元素和

元素的“内容”,为

何一个用innerHTML属性,另一

个用value属性? 176

6.3.2 利用节点关系访问XHTML元素 176

6.3.3 访问表单域控件 178

6.3.4 访问列表框、下拉菜单的选项 179

6.3.5 访问表格子元素 180

6.4 修改XHTML元素 182

6.5 新增XHTML元素 183

6.5.1 创建或复制节点 183

6.5.2 添加节点 185

6.5.3 为列表框、下拉菜单增加选项 185

6.5.4 动态添加表格内容 187

6.6 删除XHTML元素 188

6.6.1 删除节点 188

6.6.2 删除列表框、下拉菜单的选项 189

6.6.3 删除表格的行或单元格 191

6.7 传统DHTML模型 192

6.8 使用window对象 194

6.8.1 访问历史 196

6.8.2 浏览器对象 197

6.8.3 访问页面URL 197

6.8.4 客户机屏幕信息 198

6.8.5 弹出新窗口 199

6.8.6 确认对话框和输入对话框 199

6.8.7 使用定时器 200

6.9 使用document对象 201

6.9.1 动态页面 202

6.9.2 读写Cookie 203

6.10 两个常用范例 204

6.10.1 可编辑表格 204

6.10.2 导航菜单 206

6.11 DOM模型和XML文档 210

6.11.1 使用DOM解析XML文档 210

6.11.2 使用DOM解析器创建XML 212

6.12 本章小结 214

本章练习 214

第7章 事件处理机制 215

7.1 基本事件模型 216

7.1.1 绑定XHTML元素属性 216

7.1.2 绑定DOM对象的属性 218

7.1.3 事件处理函数和关键字this 219

7.1.4 使用返回值改变默认行为 221

7.1.5 在代码中触发事件 222

为什么在元素中元

素的id属性值不能是submit呢? 223

7.2 Ajax应用的MVC 224

7.3 Internet Explorer的事件模型 226

7.3.1 使用script for绑定 227

7.3.2 使用attachEvent方法执行绑定 227

7.3.3 访问事件对象 229

此处介绍的是Internet Explorer中访问事件的方式,那么其他浏览器呢? 232

7.3.4 事件冒泡 232

7.3.5 重定向事件 234

7.3.6 取消事件默认行为 236

7.3.7 捕获鼠标事件 237

7.4 DOM 2的事件模型 239

7.4.1 绑定事件处理器 239

7.4.2 访问事件对象 241

DOM 2事件模型和Internet Explorer事件模型里访问事件对象的方式完全不同,如果我们需要写一个跨浏览器的程序,是不是只能将事件处理函数绑定到XHTML元素,并将event显式作为参数传入事件处理函数? 241

7.4.3 事件传播 243

7.4.4 转发事件 247

7.4.5 取消事件的默认行为 249

7.5 本章小结 250

本章练习 250

第8章 XMLHttpRequest对象详解 251

8.1 XMLHttpRequest对象概述 252

8.2 XMLHttpRequest的方法和属性 252

8.2.1 XMLHttpRequest的方法 252

8.2.2 XMLHttpRequest的属性 256

8.3 发送请求 258

8.3.1 发送简单请求 259

8.3.2 发送GET请求 261

8.3.3 发送POST请求 263

8.3.4 发送请求时的编码问题 264

8.3.5 发送XML请求 268

8.4 处理服务器响应 270

8.4.1 处理的时机 270

8.4.2 使用文本响应 271

8.4.3 使用XML响应 271

8.4.4 使用DOM模型生成页面 273

8.5 XMLHttpRequest对象的运行周期 273

8.6 Ajax必须解决的问题 274

8.6.1 跨浏览器问题 274

8.6.2 安全性问题 275

8.6.3 性能问题 277

8.7 本章小结 280

第9章 Prototype库详解 281

9.1 Prototype的下载和安装 282

9.1.1 什么是Prototype库 282

9.1.2 下载Prototype库 282

9.1.3 安装Prototype库 283

9.1.4 使用Prototype对象 283

9.2 Prototype的工具函数 284

9.2.1 使用$()函数 284

9.2.2 使用$$()函数 286

9.2.3 使用$A()函数 288

9.2.4 使用$F()函数 289

9.2.5 使用$H()函数 290

9.2.6 使用$R()函数 291

9.2.7 使用Try.these()函数 291

9.3 Prototype的JSON支持 293

9.4 Prototype的自定义对象和类 294

9.4.1 使用Element对象 294

9.4.2 使用Element.Methods 298

9.4.3 使用Enumerable 298

9.4.4 使用ObjectRange 302

9.4.5 使用Form.Element操作表单控件 302

9.4.6 使用Form操作表单 304

9.4.7 使用Hash对象 305

9.4.8 使用Event 307

element()和findElement()的关系到底是怎么回事呢? 307

9.4.9 使用Template 308

9.4.10 使用Class 309

9.4.11 两个常用的监听器 310

9.5 Prototype常用的扩展 312

9.5.1 扩展Array 312

9.5.2 扩展document 313

9.5.3 扩展String 314

9.5.4 扩展Function 316

9.5.5 扩展Number 318

9.6 Prototype的Ajax支持 319

9.6.1 使用Ajax.Request类 319

9.6.2 使用Form.request方法 322

9.6.3 使用Ajax.Responders对象 324

9.6.4 使用Ajax对象 325

9.6.5 使用Ajax.Updater类 325

9.6.6 使用Ajax.PeriodicalUpdater类 328

9.7 本章小结 329

第10章 基于Prototype库的应用:自动完成 330

10.1 应用的基本分析和设计 331

10.1.1 数据要求 331

10.1.2 数据表结构 331

10.2 Domain Object和持久层 331

10.2.1 Domain Object 332

10.2.2 实现DAO组件 333

10.3 实现Service组件 337

10.4 使用Servlet提供服务器响应 341

10.4.1 根据前缀查询品牌 341

10.4.2 根据品牌查询型号 342

10.4.3 根据型号查询详细信息 343

10.5 客户端HTML页面实现 344

10.6 增加HTML页面的事件响应能力 346

10.6.1 实现品牌输入框的事件处理器 346

10.6.2 实现键盘事件的处理器 347

10.6.3 根据品牌提示型号 350

10.6.4 根据型号显示描述 351

10.6.5 注册Ajax事件监听器 352

10.7 本章小结 352

第11章 jQuery库详解 353

11.1 jQuery入门 354

11.1.1 理解jQuery的设计 354

上面的程序中target对象到底是什么?它怎么会拥有height、width、css这些方法? 355

11.1.2 下载和安装jQuery 355

11.1.3 让jQuery与其他JavaScript库

共存 356

11.2 获取jQuery对象 356

11.2.1 jQuery核心函数 356

11.2.2 以CSS选择器访问DOM元素 357

11.2.3 选择器的附加限定词 359

11.2.4 表单相关的选择器 362

11.3 jQuery操作类数组的工具方法 363

11.3.1 过滤相关方法 364

11.3.2 仿DOM导航的相关方法 365

11.3.3 链接方法 367

11.4 jQuery支持的方法 368

11.4.1 jQuery命名空间的方法 368

11.4.2 数据存储的相关方法 370

11.4.3 操作属性的相关方法 370

11.4.4 操作CSS属性的相关方法 371

11.4.5 操作元素内容的相关方法 373

11.4.6 操作DOM节点的相关方法 374

11.5 jQuery事件相关方法 378

11.6 动画效果相关的方法 380

11.7 Ajax相关方法 383

11.7.1 两个工具方法 383

11.7.2 使用load方法 384

11.7.3 使用jQuery.ajax(options)方法 385

11.7.4 使用get/post方法 387

11.8 扩展jQuery和jQuery插件 389

11.9 本章小结 390

第12章 基于jQuery的应用:电子相册系统 391

12.1 实现持久层 392

12.1.1 实现持久化类 392

12.1.2 配置SessionFactory 394

12.2 实现DAO组件 395

12.2.1 DAO接口定义 395

12.2.2 完成DAO组件的实现类 397

12.3 实现业务逻辑层 402

12.3.1 实现业务逻辑组件 402

12.3.2 配置业务逻辑组件 405

12.4 实现客户端调用 405

12.4.1 访问业务逻辑组件 406

12.4.2 处理用户登录 406

12.4.3 获得用户相片列表 408

12.4.4 处理翻页 409

12.4.5 处理文件上传 411

当Servlet重定向到album.html

页面后,如何弹出如图12.5所示

对话框? 413

12.4.6 页面加载时的处理 413

HttpSession里的curImg属性是从哪里来的呢? 415

12.5 本章小结 415

本章练习 415

第13章 DWR框架详解 416

13.1 DWR的下载和安装 417

13.1.1 什么是DWR 417

13.1.2 下载和安装DWR 418

13.2 使用DWR 422

13.2.1 编写处理类 422

13.2.2 配置DWR 424

13.3 使用DWR的转换器 425

13.3.1 基本转换器 425

13.3.2 对象转换器 426

13.3.3 数组转换器 428

13.3.4 集合类型转换器 428

13.4 方法声明定义 429

13.5 使用DWR的创建器 430

13.5.1 创建器的配置 430

13.5.2 使用new创建器 432

13.5.3 使用none创建器 433

既然none创建器不创建任何对象,哪有对象暴露给JavaScript代码”? 433

13.5.4 使用script创建器 433

13.6 调用服务器端的方法 434

13.6.1 调用服务器端方法的通用配置 434

13.6.2 使用简单回调 435

13.6.3 使用JSON格式的回调 440

13.6.4 将客户端参数传递到回调函数 442

13.7 使用engine.js 443

13.7.1 设置调用顺序 443

13.7.2 设置全局超时时长 443

13.7.3 设置全局Hook函数 444

13.7.4 设置全局处理函数 444

13.7.5 设置常用的全局选项 444

13.7.6 批处理 445

13.8 使用util.js 445

13.8.1 使用$() 446

13.8.2 处理列表 446

13.8.3 处理表格 450

13.8.4 访问HTML元素值 454

getValues()可以一次获取多个HTML元素的值,那返回的值如何保存呢? 455

13.8.5 几个工具函数 456

13.9 整合第三方Java EE框架 458

13.9.1 访问Servlet API 458

老师你以前教我们:谁调用方法,谁负责为形参赋值。现在我们调用addSession()方法时没有为第二个参数赋值,那第二个参数从哪里获得参数值呢? 460

13.9.2 整合Spring 461

13.10 使用DWR注释 463

13.10.1 初始配置 464

如果我有很多类需要列出,那岂不是很臃肿,classes属性值是否支持通配符?如果想列出内部类应该怎么写? 464

13.10.2 标注创建器和转换器 464

13.11 异常处理 465

13.12 反向Ajax 467

13.12.1 配置使用反向Ajax 468

反向Ajax技术不是依赖HTTP协议的吗?它怎么可以违反请求-响应架构的规律呢? 468

13.12.2 在Java方法中操作Web页 469

13.12.3 在客户端调用反向Ajax方法 471

13.13 本章小结 472

第14章 基于DWR的应用:即时消息系统 473

14.1 实现Hibernate持久层 474

14.1.1 Hibernate持久层的POJO 474

14.1.2 将POJO映射成持久化对象 476

14.2 实现DAO组件 477

14.2.1 扩展HibernateDaoSupport来实现分页 478

为什么不扩展Hibernate Template类来实现分页?扩展HibernateDaoSup-port是不是会引起一些混乱? 478

14.2.2 实现DAO组件 480

14.3 实现业务逻辑组件 482

14.3.1 业务逻辑组件的接口 483

14.3.2 业务逻辑组件的实现类 484

14.3.3 部署业务逻辑组件 487

14.3.4 基于AOP的权限控制 488

14.4 调用业务逻辑组件 490

14.4.1 将Spring容器中的Bean创建成JavaScript对象 490

14.4.2 处理用户登录 491

既然已经在JavaScript代码里进行了权限控制,为何还要在业务逻辑层控制呢? 492

14.4.3 处理用户注册 493

14.4.4 处理消息发布 494

14.4.5 获取消息列表 495

14.4.6 处理分页 496

14.4.7 查看消息内容 497

14.4.8 页面加载函数 498

14.5 本章小结 498

本章练习 498

第15章 AjaxTags框架详解 499

15.1 AjaxTags的下载和安装 500

15.1.1 什么是AjaxTags 500

15.1.2 下载和安装AjaxTags 500

15.2 AjaxTags入门 501

15.2.1 编写处理类 502

15.2.2 使用标签 503

15.3 处理类的几种形式 505

15.3.1 使用普通Servlet生成响应 505

15.3.2 使用AjaxXmlBuilder辅助类 507

15.3.3 使用BaseAjaxServlet生成响应 509

15.3.4 使用非Java响应 510

15.4 使用AjaxTags标签 511

15.4.1 使用自动完成标签 511

15.4.2 使用area标签 515

15.4.3 使用anchors标签 516

15.4.4 使用callout标签 517

15.4.5 使用htmlContent标签 518

15.4.6 使用portlet标签 520

15.4.7 使用select标签 522

15.4.8 创建Tab页 523

15.4.9 使用displayTag标签 524

15.4.10 使用tree标签创建树 526

15.4.11 使用updateField标签 528

15.5 关于AjaxTags的选择 530

15.5.1 AjaxTags的优势和使用场景 530

15.5.2 AjaxTags的缺点 531

15.6 本章小结 531

第16章 Ajax实例:简易Blog系统 532

16.1 实现Hibernate持久层 533

16.1.1 设计Hibernate的持久化类 533

16.1.2 完成映射文件 535

16.1.3 数据表的结构 537

16.2 实现DAO组件 538

16.2.1 DAO接口定义 538

16.2.2 实现DAO组件 539

16.2.3 配置DAO组件 542

16.3 实现业务逻辑组件 543

16.3.1 业务逻辑组件的接口 543

16.3.2 业务逻辑组件的实现类 544

16.3.3 配置业务逻辑组件 547

16.4 整合DWR框架 548

16.4.1 配置web.xml文件 548

16.4.2 将Spring容器中的Bean转化成JavaScript对象 549

16.5 在客户端调用JavaScript对象 550

16.5.1 获取Blog文章列表 550

16.5.2 控制Blog文章列表的翻页 551

16.5.3 页面加载时的动作 551

16.5.4 查看评论 552

16.5.5 控制回复的翻页 554

16.5.6 添加回复 554

16.5.7 查看Blog文章内容 556

16.5.8 添加新的Blog文章 556

16.6 本章小结 558

本章练习 558

第17章 电子拍卖系统 559

17.1 总体说明和概要设计 560

17.1.1 系统的总体架构设计 560

17.1.2 数据库设计 561

17.2 实现Hibernate持久化类 562

17.2.1 设计Domain Object 562

17.2.2 实现Domain Object 563

17.3 DAO层实现 568

17.3.1 DAO的基础配置 568

17.3.2 实现DAO组件 569

17.3.3 部署DAO组件 574

17.4 业务逻辑层实现 575

17.4.1 设计业务逻辑组件 575

17.4.2 业务逻辑组件的异常处理 576

17.4.3 发送竞价通知邮件 578

17.4.4 实现业务逻辑层组件 578

17.4.5 业务层的权限控制 587

17.4.6 业务层的任务调度 588

17.4.7 事务管理 589

17.5 暴露业务逻辑方法 590

17.5.1 初始化Spring容器 590

17.5.2 配置DWR的核心Servlet 590

17.5.3 暴露业务逻辑方法 591

17.6 调用业务逻辑方法响应用户请求 592

17.6.1 页面加载时的函数 592

17.6.2 处理返回首页的请求 593

17.6.3 浏览所有流拍物品 593

17.6.4 处理用户登录 596

17.6.5 管理物品 600

17.6.6 管理物品种类 603

17.6.7 查看竞得物品 606

17.6.8 查看自己的竞价记录 608

17.6.9 浏览拍卖物品 609

17.6.10 参与竞价 611

17.7 本章小结 614

本章练习 614

……[看更多目录]

序言Ajax技术已经不再是新技术,它已经成为企业开发中应用最广泛的技术之一,不管采用什么样的开发平台:Java EE也好,.NET也好,PHP也好,Ruby on Rails也好,只要开发B/S架构的应用,那么表现层就一定会使用Ajax技术。

Ajax技术采用异步方式发送请求,避免了每个请求对应一个页面的模式,允许在一个页面发送多个请求,从而可以更大程度地利用已下载的页面,服务器每次响应生成的只是必需的数据,无须响应生成整个页面。对用户而言,发送异步请求不会阻塞当前的浏览器线程,浏览器可以继续下一步操作:比如继续浏览或再次发送异步请求。因此用户将不会处于等待状态,而是感觉自己一直与应用处于交互状态,从而带给了用户连续的体验。

Ajax技术是Web 2.0的重要技术之一,互连网上各种Blog系统、RSS,以及Wiki系统和SNS交友网络等,都大量使用了Ajax技术。

Ajax技术还催生了大量的网页游戏。国内的很多游戏运营商纷纷推出了自己的网页游戏。网页游戏具有无须下载、安装,即开即玩、简单便捷的特征,尤其对办公室上班族具有较大的吸引力,因此也具有很好的市场前景。在这种网页游戏中,每个网页上都包含了大量制作精美的图片,当游戏玩家单击、双击这些图片时,系统将采用Ajax技术与远程服务器通信,这是绝大部分网页游戏的底层运行机制。

2007年出版的《基于J2EE的Ajax宝典》具有全面、专业的特征,书中不仅深入介绍了Ajax编程的底层原理和技术,还全面介绍了Prototype、Dojo、DWR、JSON-RPC-Java和AjaxTags等5个Ajax框架。不过,Dojo版本更新太快,这一点限制了它在实际企业开发中的应用。本书作为《基于J2EE的Ajax宝典》的第二版,详细介绍了XHTML、CSS、JavaScript、DOM和JavaScript事件机制等基础知识,重点分析了XMLHttpRequest对象的运行机制和运行原理。Ajax框架的介绍部分,Prototype、DWR、AjaxTags等框架升级到了最新版本,另外新增介绍了jQuery框架。

本书的创作感言

写一本书真的很累!每次一本书写到最后几章时,都会有一种近似虚脱的感觉。此外,如果还遭遇一些来自外界的困扰,就让人更加难以静下来做事。不过,笔者现在的主要职业是培训,需要不断地面对新的学生,有责任引导他们进入软件开发行业,这大概是支持自己继续写下去的一个动力吧。

最初,笔者写书仅仅是为了作为笔者的培训教材,帮助自己的学生能更好地理解自己所讲授的内容,所以总是尽量使用清晰条理的方式来组织内容,用实用、易操作的实例来演示开发,用通俗易懂的语言进行表达。希望把实际企业开发中解决问题的方法,用通俗、简单的语言告诉学生。

在本书创作过程中,笔者一度感到非常困惑:其实笔者这些书的学术价值真的很少,因为基本上没有什么创新,绝大部分都是前人的智慧。充其量,笔者只是进行了再归纳、总结,于是难免感到意兴阑珊。

无聊中和一位美籍华人(一位资深CTO)在Skype上聊天,他告诉笔者:印度的程序员数量大概是中国程序员的100倍,因为印度有大量的程序员基数,所以就孕育出了大量优秀的程序员。中国人,虽然是世界上非常聪明的种族之一,但中国程序员太少了,所以中国产生的优秀程序员也很少。你写的书虽然没有什么创新,但只要能把实际软件开发的方法和经验传播开来,让更多的年轻人走进软件开发行业,你就为中国的软件开发业做出了贡献。如果有一天中国拥有1亿以上的软件开发工程师,那中国软件行业就真正发展起来了。

那天之后,萧索的心情开始慢慢好转,毕竟自己还在做一件“切实爱国”的事情。笔者心想:爱国,不是光喊口号的事情,而是需要埋头做事的。

本书有什么特点

不知道是否有人仔细研究过笔者写的书,书中的长句是很少的——因为很多语句自己都会反复地调整,有兴趣的读者可以仔细体会一下这个特点。

《基于J2EE的Ajax宝典》上市一年半了,其间收到不少读者来信,对书中内容也提了一些自己的见解。此外,该书也一直作为“疯狂Java实训营”的讲义,这些对本书的升级起到了很大的帮助。

此外,本书还有如下特点:

1.通俗易懂,适合自学

该书第一版作为培训教材近2年了,在吸收大量学习者的学习体会和心得的基础上,本书重点讲解了学习过程中难以理解和掌握的知识点,降低了学习者的学习难度。

2.知识丰富,内容全面

正如该书的第一版,书中知识非常全面:XHTML、CSS、JavaScript、DOM、Event机制、XMLHttpRequest、Prototype库、jQuery、DWR、AjaxTags等Ajax知识的相关内容,都可在本书中找到详细的讲解。

3.深入实用,实践性强

本书并不是一本Ajax的入门图书,本书将Ajax技术融入轻量级Java EE开发,深入介绍了Ajax+Java EE整合开发的方法和步骤,对实际企业开发具有极好的指导意义。

衷心感谢

本书创作过程中有一些小事情一度影响了笔者的心情,让笔者产生过心灰意懒、意兴阑珊的感觉,使得写作也一度中断。在此,要衷心感谢电子工业出版社的朋友,以及疯狂Java联盟的杨恩雄、heyitang、petrelsky5等广大网友和所有给我鼓励的朋友,是你们的支持让我再度燃起创作热情。

本书写给谁看

本书是疯狂Java体系丛书之一,前半部分(前8章)没有基础即可阅读,后半部分则需要一定的Spring、Hibernate等Java EE基础。如果读者只希望掌握JavaScript编程、DHTML和Ajax基础,则无须任何基础;如果读者希望将Ajax融入实际的Java EE开发,则建议先阅读《轻量级Java EE企业应用实战》一书。

文摘插图:

疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发(附光盘1张)

第1章 Ajax概述

Ajax(Asynchronous JavaScriptAnd XML,异步JavaScript和XML)是个相当新的名词,它在2005年由Jesse James Garrett首先提出。在接下来的极短时间内,Ajax被广泛应用到大量B/S结构的应用中,改进了传统的Web应用,给浏览者一种更连续的体验。Ajax的最大优势在于异步交互,即浏览者在浏览页面时,可同时向服务器发送请求,甚至可以不用等待前一次请求得到完全响应,便再次发送请求。这种异步请求的方式,非常类似于传统的桌面应用。通过使用Ajax技术,可以使互联网网页具有更友好的人机交互和更美观的浏览界面。

使用Ajax的异步请求方式,浏览器无须频繁地重新加载新页面,服务器的响应不再是整个页面內容,而只是必须更新的部分数据。Ajax可以减轻服务器和带宽的负担,提供更好的服务响应。使用Ajax的异步模式,浏览器无须重新加载整个页面,就可以显示新的数据。浏览器通过JavaScript代码向服务器发送请求,JavaScript代码负责解析服务器的响应数据,并把样式表加到数据上,然后在现有网页中显示出来。

Ajax技术给互联网带来了一场革命——Web2.0,而且它也正是这场革命中的核心技术。到目前为止,已很难找到一个没有使用Ajax技术的Web应用。njax技术甚至催生了一种新的网络游戏平台:网页游戏——游戏玩家无须下载任何客户端,直接打开网页就可开始游戏。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
更多商品
看名医不挂号:北京最好名医的健康绝学,最难挂上号的名医集体为你把脉
中国通史
绝对成交
现场硬功夫:让生产良性运转的6S管理(影响时空管理丛书·生产主管系列)
征服Photoshop CS3基础与实践全攻略(含DVD光盘1张)(附DVD光盘1张)
JavaScript语言精粹
Windows设备驱动程序WDF开发
多采样率系统:采样率转换和数字滤波器组(现代通信信号处理丛书)
电子设备热设计(电子机械工程丛书)
Photoshop数码婚纱与个人写真创意设计精粹(全彩)(含DVD光盘)(风云.第2辑)(附DVD光盘1张)
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有