内容简介
本书为《疯狂Ajax讲义》的第3版,其中jQuery升级到1.8版本;Prototype升级到1.7.1版本;DWR升级到3.0版本。第3版更新是详细、全面地介绍了ExtJS4.1的知识。由于ExtJS4.1本身内容比较多,因此本书花了几百页来介绍ExtJS的功能和用法,这部分内容独立出来即可作为ExtJS4.1的学习手册。本书详细介绍了jQuery1.8、ExtJS4.1、Prototype1.7.1、DWR这4个最常用的Ajax框架的用法,并针对每个框架提供了一个实用案例,让读者理论联系实际。这部分内容是“疯狂软件教育中心”的标准讲义,它既包含了实际Ajax开发的重点和难点,也融入了大量学习者的学习经验和感悟。再由笔者以丰富的授课经验为基础,深入浅出地介绍它们,希望读者真正掌握Ajax开发的精髓。本书最后提供了2个综合性案例:Blog系统和电子拍卖系统,让读者将前面所学真正应用到实际项目中。电子拍卖系统是一个包含5个表、表之间具有复杂关联映射的系统,该案例采用目前最流行、最规范的轻量级JavaEE架构,将整个应用分为领域对象层、DAO层、业务逻辑层,然后用DWR作为Ajax引擎调用业务逻辑方法响应异步请求,系统权限检查推迟到业务逻辑层完成,并使用HTTPSession跟踪用户操作状态,从而避免用户刷新浏览器导致的浏览状态丢失。该案例对实际项目具有极好的指导价值和借鉴意义。
目录
- 第1章Ajax概述与Ajax初体验
- 1.1重新思考Web应用
- 1.1.1应用系统的发展史
- 1.1.2传统Web应用的优势和缺点
- 1.2重新设计Web应用
- 1.2.1富Internet应用
- 1.2.2使用Ajax
- 1.3Ajax技术介绍
- 1.3.1Ajax的工作方式
- 1.3.2Ajax技术核心:
- XMLHttpRequest
- 1.3.3Ajax的编程脚本:
- JavaScript语言
- 1.3.4HTML页面的DOM模型
- 1.3.5动态加载和显示数据
- 1.3.6Ajax的特征
- 1.3.7Ajax带来的典型优势
- 1.4开发传统的B/S聊天室
- 1.4.1实现业务逻辑组件
- 1.4.2实现控制器
- 1.4.3实现视图
- 1.4.4传统B/S聊天室的问题
- 1.5Ajax聊天室
- 1.5.1异步发送请求
- 1.5.2解决多余刷新的问题
- 1.5.3解析服务器响应
- 1.5.4何时发送请求
- 1.5.5Ajax聊天室的特点
- 1.6Ajax编程的技术难点
- 1.7传统Web应用与Ajax应用的对比
- 1.8本章小结
- 第2章XMLHttpRequest对象详解
- 2.1XMLHttpRequest对象概述
- 2.2XMLHttpRequest的方法和属性
- 2.2.1XMLHttpRequest的方法
- 2.2.2XMLHttpRequest的属性
- 2.3发送请求
- 2.3.1发送简单请求
- 2.3.2发送GET请求
- 2.3.3发送POST请求
- 2.3.4发送请求时的编码问题
- 2.3.5发送XML请求
- 2.4处理服务器响应
- 2.4.1处理的时机
- 2.4.2使用文本响应
- 2.4.3使用JSON响应
- 2.5XMLHttpRequest对象的运行周期
- 2.6Ajax必须解决的问题
- 2.6.1跨浏览器问题
- 2.6.2安全性问题
- 2.6.3性能问题
- 2.7本章小结
- 第3章jQuery库详解
- 3.1jQuery入门
- 3.1.1理解jQuery的设计
- 3.1.2下载和安装jQuery
- 3.1.3让jQuery与其他JavaScript
- 库共存
- 3.2获取jQuery对象
- 3.2.1jQuery核心函数
- 3.2.2jQuery与jQuery.holdReady
- 3.2.3以CSS选择器访问DOM元素
- 3.2.4选择器的附加限定词
- 3.2.5表单相关的选择器
- 3.3jQuery操作类数组的工具方法
- 3.3.1过滤相关方法
- 3.3.2仿DOM导航查找的相关方法
- 3.3.3链接方法
- 3.4jQuery支持的方法
- 3.4.1jQuery命名空间的方法
- 3.4.2数据存储的相关方法
- 3.4.3操作属性的相关方法
- 3.4.4操作CSS属性的相关方法
- 3.4.5操作元素内容的相关方法
- 3.4.6操作DOM节点的相关方法
- 3.5jQuery事件相关方法
- 3.5.1绑定事件处理函数
- 3.5.2特定事件相关的方法
- 3.5.3事件对象
- 3.6动画效果相关的方法
- 3.6.1简单动画和复杂动画
- 3.6.2操作动画队列
- 3.7jQuery的回调支持
- 3.7.1回调支持的基本用法
- 3.7.2创建Callbacks支持的选项
- 3.8Ajax相关方法
- 3.8.1三个工具方法
- 3.8.2使用load方法
- 3.8.3jQuery.ajax(options)与
- jQuery.ajaxSetup(options)
- 3.8.4使用get/post方法
- 3.9jQuery的Deferred对象
- 3.9.1jQuery的异步调用
- 3.9.2为多个耗时操作指定回调函数
- 3.9.3为普通对象增加Defered接口
- 3.9.4jQuery对象的promise方法
- 3.10扩展jQuery和jQuery插件
- 3.11本章小结
- 第4章基于jQuery的应用:电子相册系统
- 4.1实现持久层
- 4.1.1实现持久化类
- 4.1.2配置SessionFactory
- 4.2实现DAO组件
- 4.2.1开发通用DAO组件
- 4.2.2DAO接口定义
- 4.2.3完成DAO组件的实现类
- 4.3实现业务逻辑层
- 4.3.1实现业务逻辑组件
- 4.3.2配置业务逻辑组件
- 4.4实现客户端调用
- 4.4.1访问业务逻辑组件
- 4.4.2处理用户登录
- 4.4.3获得用户相片列表
- 4.4.4处理翻页
- 4.4.5通过隐藏实现文件上传
- 4.4.6页面加载时的处理
- 4.5本章小结
- 第5章ExtJS核心技术详解
- 5.1ExtJS入门
- 5.1.1下载和安装ExtJS
- 5.1.2Ext入门示例
- 5.1.3使用ExtJS文档
- 5.2核心工具方法
- 5.2.1Ext的属性和获取浏览器特性
- 5.2.2onReady方法
- 5.2.3Ext.defer方法
- 5.2.4Ext.apply和Ext.applyIf方法
- 5.2.5Ext.define、Ext.create和
- Ext.extend方法
- 5.2.6Ext.isXxx方法
- 5.2.7Ext.each和Ext.iterate方法
- 5.2.8Ext.namespace方法
- 5.3ExtJS扩展的工具方法
- 5.3.1为Array扩展的工具方法
- 5.3.2为Date扩展的工具方法
- 5.3.3为Function扩展的工具方法
- 5.3.4为Number扩展的工具方法
- 5.3.5为Object扩展的工具方法
- 5.3.6为String扩展的工具方法
- 5.3.7JSON支持
- 5.4简化的DOM操作
- 5.4.1Ext.get、Ext.getXxx和Ext.fly
- 方法
- 5.4.2Ext.query、Ext.select方法与
- Ext.dom.Query工具类
- 5.4.3DOM元素的常用操作
- 5.4.4使用Ext.DomHelper、Ext.Template
- 动态生成HTML
- 5.5动画处理
- 5.5.1使用Ext.fx.Anim实现简单动画
- 5.5.2使用Ext.fx.Animator实现多
- 关键帧动画
- 5.5.3为元素增加动画
- 5.6ExtJS的事件处理
- 5.6.1使用Ext.EventManager管理事
- 件处理函数与Ext.EventObject
- 事件对象
- 5.6.2事件处理函数的执行范围和附
- 加选项
- 5.6.3使用Ext.util.Observable实现内
- 部事件
- 5.7实用工具集
- 5.7.1Ext.util.HashMap与
- Ext.util.MixedCollection
- 5.7.2使用Ext.util.Cookies操作
- Cookie
- 5.7.3使用Ext.util.DelayedTask
- 处理延时任务
- 5.7.4包装单击事件:
- Ext.util.ClickRepeater
- 5.7.5使用Ext.util.TaskRunner与
- Ext.TaskManager
- 5.7.6使用Ext.util.KeyMap与Ext.util.
- KeyNav为元素处理按键事件
- 5.8拖放
- 5.8.1使用Ext.dd.DD和Ext.dd.
- DDProxy创建可拖放元素
- 5.8.2用Ext.dd.DragSource创建拖动
- 源与用Ext.dd.DropTarget创建
- 放目标
- 5.8.3用Ext.dd.DragZone创建拖动源与
- 用Ext.dd.DropZone创建放目标
- 5.9Ajax支持
- 5.10本章小结
- 第6章ExtJS界面组件详解
- 6.1容器、面板和窗口
- 6.1.1使用Ext.Component
- 6.1.2使用Ext.container.Container
- 创建容器
- 6.1.3使用Ext.panel.Panel创建面板
- 6.1.4使用Ext.toolbar.ToolBar添加
- 工具条
- 6.1.5使用Ext.tab.Panel创建Tab面板
- 6.1.6使用Ext.container.Viewport
- 整体布局
- 6.1.7使用Ext.window.Window创建
- 窗口
- 6.1.8使用Ext.window.MessageBox
- 创建对话框
- 6.2布局
- 6.2.1容器与布局的关系
书中介绍JS的部分其实很值得细读,
原本以为我也会js的,
读了才知道其实自己还有很多地方不明白:就像JS创建对象的方式,JS创建类的方式等。
书里介绍DOM操作的逻辑也是我很喜欢的方式:创建节点,添加节点、修改节点、删除节点,清晰明了,很容易把握通过DOM动态更新html页面的方式。
凭心而论 这本书的技术广度不错,深度稍显不足。
作为ajax的初学者 我觉得通过这本书能学到很多的东西,
不管是JavaScript基本语法、DOM编程,还是后面的prototype、jquery、dwr,对初学者都有很大的帮助。
特别是对prototype,jquery等的讲解 很符合初学者的思维方式
几乎可以一边参考本书,一本参与实际企业开发。
对于后面所介绍的Ajax框架,如果英文好也可以直接看相关的框架的文档。
希望作者能多出这样的入门好书!!
不过作者对javascript性能优化、内存泄露方面的只用了短短一小节,希望下次能丰富这部分的内容。