图书介绍
疯狂Ajax讲义 Prototype/jQuery+DWR+Spring+Hibernate整合开发PDF|Epub|txt|kindle电子书版本下载
![疯狂Ajax讲义 Prototype/jQuery+DWR+Spring+Hibernate整合开发](https://www.shukui.net/cover/61/31265673.jpg)
- 李刚编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121084409
- 出版时间:2009
- 标注页数:618页
- 文件大小:332MB
- 文件页数:634页
- 主题词:计算机网络-程序设计;JAVA语言-程序设计
PDF下载
下载说明
疯狂Ajax讲义 Prototype/jQuery+DWR+Spring+Hibernate整合开发PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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 使用Ajax7
1.3 Ajax介绍7
1.3.1 Ajax的工作方式8
1.3.2 Ajax的核心:XMLHttpRequest8
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的Flex12
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 安装Ant19
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和XHTML49
学生提问 如果我使用XHTML编写互联网页,会不会有浏览器不支持?50
3.2 XHTML的基本语法50
3.2.1 XHTML的基本结构和规则50
3.2.2 XHTML和DTD52
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
学生提问 在表单里直接定义普通文本不可以作为标签吗?专门使用<label.../>元素定义标签有什么作用?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 运行JavaScript77
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和null90
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和continue113
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 继承和prototype130
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
学生提问 程序中为了访问<div.../>元素和<textarea.../>元素的“内容”,为何一个用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 访问页面URL197
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 读写Cookje203
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解析器创建XML212
6.12 本章小结214
本章练习214
第7章 事件处理机制215
7.1 基本事件模型216
7.1.1 绑定XHTML元素属性216
7.1.2 绑定DOM对象的属性218
7.1.3 事件处理函数和关键字this219
7.1.4 使用返回值改变默认行为221
7.1.5 在代码中触发事件222
学生提问 为什么在<form.../>元素中<input.../>元素的id属性值不能是submit呢?223
7.2 Ajax应用的MVC224
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.Methods298
9.4.3 使用Enumerable298
9.4.4 使用ObjectRange302
9.4.5 使用Form.Element操作表单控件302
9.4.6 使用Form操作表单304
9.4.7 使用Hash对象305
9.4.8 使用Event307
学生提问 element()和findElement()的关系到底是怎么回事呢?307
9.4.9 使用Template308
9.4.10 使用Class309
9.4.11 两个常用的监听器310
9.5 Prototype常用的扩展312
9.5.1 扩展Array312
9.5.2 扩展document313
9.5.3 扩展String314
9.5.4 扩展Function316
9.5.5 扩展Number318
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 Object332
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 下载和安装jQuery355
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 配置SessionFactory394
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 什么是DWR417
13.1.2 下载和安装DWR418
13.2 使用DWR422
13.2.1 编写处理类422
13.2.2 配置DWR424
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.js443
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.js445
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 API458
学生提问 老师你以前教我们:谁调用方法,谁负责为形参赋值。现在我们调用addSession()方法时没有为第二个参数赋值,那第二个参数从哪里获得参数值呢?460
13.9.2 整合Spring461
13.10 使用DWR注释463
13.10.1 初始配置464
学生提问 如果我有很多类需要列出,那岂不是很臃肿,classes属性值是否支持通配符?如果想列出内部类应该怎么写?464
13.10.2 标注创建器和转换器464
13.11 异常处理465
13.12 反向Ajax467
13.12.1 配置使用反向Ajax468
学生提问 反向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持久层的POJO474
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 什么是AjaxTags500
15.1.2 下载和安装AjaxTags500
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 Object562
17.2.2 实现Domain Object563
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的核心Servlet590
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