书中介绍了在Web 2.0的标准下结合Ajax技术进行各种Java Web应用开发的方式和技巧。本书的特色是以案例为主,将相关知识点作为主线贯穿其中。第1部分是Ajax开发基础,内容涉及搭建运行环境和开发平台、Ajax核心技术及工作流程、Ajax应用技巧。第2部分提供了一个完整的博客在线网站的设计和开发实例,通过对该网站各个功能模块从需求分析、系统设计及部署实现等全过程的分析,使读者能够快速掌握基于Eclipse和MySQL开发平台,并结合Ajax、JSP、Servlet、MVC、Hibernate等主流设计模式及开发技术的技能。
本书结构清晰、注重实用、深入浅出,非常适合作为Eclipse中Ajax应用开发的自学或培训教材,同时,也适合作为Java Web开发人员的参考用书。
第1章 Ajax概述 1
1.1 Web 2.0与Ajax简介 1
1.1.1 Web 2.0简介 1
1.1.2 什么是Ajax 1
1.2 Ajax的结构及其意义 2
1.2.1 传统Web应用解决方案 2
1.2.2 Ajax解决方案的优势 3
1.2.3 Ajax相关技术简介 4
第2章 Ajax开发初体验 7
2.1 开发环境搭建 7
2.1.1 JDK的安装 8
2.1.2 JDK环境变量的设置 10
2.1.3 Eclipse的安装 11
2.1.4 安装应用服务器Tomcat 16
2.1.5 安装MyEclipse 21
2.2 开发商务网站身份验证模块 27
2.2.1 传统实现方式 28
案例2-1 传统方式实现Java Web页面的登录验证 28
2.2.2 Ajax的实现方式 35
案例2-2 采用Ajax技术实现Java Web页面的登录验证 35
案例2-3 采用Ajax技术结合数据库实现Web页面的登录验证 48
2.2.3 Ajax工作流程总结 51
第3章 Ajax核心技术 56
3.1 JavaScript脚本 56
3.1.1 如何插入JavaScript脚本 56
3.1.2 事件驱动的处理机制 58
案例3-1 借助JavaScript实现丰富的页面交互效果 59
3.2 XHTML和CSS 66
3.2.1 XHTML与HTML之间的区别 66
3.2.2 XHTML的语法规则 68
案例3-2 使用XHTML语法规则实现Web页面 69
3.2.3 CSS的基本功能 71
3.2.4 CSS的语法规则 73
案例3-3 使用CSS层叠样式表丰富Web页面显示效果 73
3.3 DOM简介 87
案例3-4 使用DOM提供的方式访问HTML文档中的对象 89
3.4 XML和XSTL 93
3.4.1 XML可扩展标记语言 93
案例3-5 使用XML及XSTL文档存储及显示数据 94
3.4.2 XSTL可扩展的样式表转换语言 98
3.5 XMLHttpRequest对象 112
3.6 Ajax核心工作机制 115
案例3-6 利用Ajax技术实现页面提示效果 118
第4章 Ajax相关技术深入 129
4.1 使用DOM操作HTML文档 129
案例4-1 使用DOM操作HTML文档 130
4.1.1 DOM中相关属性和方法 131
4.1.2 innerHTML属性 134
4.1.3 操作HTML文档 135
4.2 解析XML文档 138
案例4-2 解析XML文档 139
4.3 Ajax的响应处理 141
4.3.1 responseText属性 142
案例4-3 Ajax的响应处理 142
4.3.2 responseXML属性 145
4.4 Ajax不同请求提交方式的处理 146
4.4.1 采用POST方式提交请求 146
案例4-4 Ajax的请求处理 146
4.4.2 提交XML格式的请求参数 148
4.5 JavaScript脚本技术深入 151
案例4-5 页面中拖拽效果的实现 152
案例4-6 褪色技术的实现 153
第5章 Ajax常用实现技巧 156
5.1 实现表单数据验证 156
5.2 实现Web页面中级联菜单的设计 161
5.3 实现动态加载列表框 166
5.4 实现自动刷新页面 171
5.5 实现Web页面的局部动态更新 176
5.6 实现自动完成功能 182
第6章 Blog Online网站概述及设计方案 190
6.1 Blog Online博客网站总体描述 190
6.1.1 项目背景 191
6.1.2 网站开发基本流程 191
6.2 方案设计 192
6.2.1 设计原则 193
6.2.2 运行架构 193
6.3 模块划分及界面设计 194
6.3.1 模块划分 194
6.3.2 界面设计 196
第7章 Blog Online博客页面实现 209
7.1 系统设计 209
7.1.1 需求分析 209
7.1.2 总体设计 210
7.1.3 功能设计 211
7.2 数据库设计与实现 212
7.2.1 数据库的需求分析 212
7.2.2 数据库的逻辑设计 212
7.2.3 创建数据表的脚本 215
7.3 系统实现 217
7.3.1 实现效果 217
7.3.2 JSP页面 222
7.3.3 Ajax技术相关脚本文件 233
7.3.4 数据持续层 241
7.3.5 业务逻辑层 252
7.3.6 控制处理层 260
7.3.7 技术难点详解 272
第8章 Blog Online博客个人维护中心 274
8.1 系统设计 274
8.1.1 需求分析 274
8.1.2 总体设计 275
8.1.3 功能设计 275
8.2 数据库设计与实现 276
8.2.1 数据库的需求分析 276
8.2.2 数据库的逻辑设计 276
8.2.3 创建数据表的脚本 276
8.3 博客个人维护管理中心 276
8.3.1 实现效果 276
8.3.2 用户表示层 280
8.3.3 Ajax技术相关脚本文件 285
8.3.4 数据持续层 293
8.3.5 业务逻辑层 293
8.3.6 控制处理层 293
8.3.7 技术难点详解 299
前 言
关于本书
在前期Web技术发展的历程中,软件系统所采用的计算技术由早期的基于C/S(Client/Server)模式的应用系统向基于B/S(Browser/Server)模式的应用系统进行了转变。这种转变成功的使开发人员避开了繁琐而没有太多技术内涵的部署工作,即不需要将客户端程序不厌其烦地安装到数以万计的客户端(胖客户)中。用户端只需要提供浏览器(瘦客户)就可以方便地显示服务器端的处理结果。由于这种方式所采用的是同步交互方式,因此带来的不良后果就是客户端的响应速度变慢。
而在Ajax的帮助下,传统Web应用中的请求/响应模式发生了改变,开发人员可以利用这一技术实现与服务器端进行异步交互,用户的直接感受就是不会因为单击一个按钮就必须等待整个Web页面的全部刷新。而对于开发人员来说,也不再为了要实现一个动态效果,就将服务器端数据库中的数据全部在页面装载时发送到客户端,导致页面过度膨胀。总的来说,Ajax提供了非常方便的客户端处理方式,为实现更加丰富的网页交互效果奠定了基础。
本书通过深入浅出的讲解和丰富的案例,引领着读者学习Ajax技术中各种不同Web应用程序的开发方式和开发技巧。同时通过大量实际的模块案例,让读者体会在实际项目开发中应用Ajax及相关技术的实际过程。
本书主要有以下两个特点。
• 容易上手:本书作者多年从事教学和Web应用的开发工作。因此,本书从学生的认知规律入手,引导读者逐步熟悉体验Ajax技术,从而让读者容易上手,迅速掌握Ajax技术与原有服务器端Java应用程序的开发和设计技巧。
• 实战性强:书中的案例是作者对自己教学和开发经验的总结,在实际开发中,读者可以将本书提供的案例稍微改造一下就可以直接使用。
本书读者对象
本书介绍了Web 2.0中Ajax技术的开发方法和技巧,适合从事Web应用开发的初中级程序员使用。通过对本书的学习,Web应用的开发人员可以迅速掌握Ajax技术的基本应用。本书也可作为IT培训机构的培训教材。
本书内容组织方式
本书共分为两个部分,第1部分为第1~5章。第2部分为第6~8章。
第1部分主要是结合各种实际应用的实例模块,介绍利用Ajax技术开发各种不同Web应用程序的方式和开发技巧。其中,第1章介绍了Web 2.0的概念和Ajax技术与传统客户端技术的不同之处。第2章通过一个实用的验证模块介绍了Ajax技术的基本开发方式和应用过程。第3章介绍了与Ajax相关的一些核心技术,包括JavaScript、XMLHttpRequest对象、XML、DOM等。第4章通过一系列Web应用中实际效果的实现,介绍了使用Ajax技术开发Java Web应用的过程和技巧。第5章对于与Ajax相关的一些技术进行了深入的探讨。
第2部分全面系统地介绍了一个完整的博客在线网站(Blog Online)的设计开发过程。其中,第6章介绍了整个博客网站的总体设计架构及设计原则。第7章详细介绍了博客在线网站前台模块的设计实现,包括博客的申请、日志的发表及管理等。第8章介绍了博客在线网站后台维护管理中心涉及到的各个功能模块的具体实现过程。这些功能实际上都是博客网站系统中通用的模块,因此结合这一部分案例的设计和制作过程,读者将体验Web应用开发的各个环节,并且能够将各个功能模块方便地移植到实际的Web系统中。
本书的约定
本书中提供了大量基于Ajax技术的Web应用系统完整模块实现的源代码,为了能够使读者在阅读时更快地抓住重点,本书中进行了如下相关的设计。
• 阶段性案例设置:在本书第1部分的各个章节中,结合相关的核心知识点,设计完成了大量功能模块性案例,通过这些案例的设计实现,读者能够为第2部分,设计实现完整的商务网站项目做好准备。
• 重点代码部分加黑显示:因为网页的前台部分往往由静态设计师完成,为了能够在大量代码中突出对后台程序员最有用的部分,本书对其进行了加黑处理,以方便读者迅速抓住重点。
• 必知必会栏目的设置:考虑到缺乏实际开发经验的读者,在进行案例设计时,缺乏解决问题的经验以及编程的思路,本书在一些关键性位置结合实例讲解了解决问题的思路以及技巧,以帮助读者积累开发经验,寻找程序员的思维习惯。
与作者联系
本书的编写得到了许多优秀Web程序开发人员的积极建议和大力支持,在此向他们表示真挚的感谢。
由于时间仓促,加之水平有限,书中的不足之处在所难免,敬请读者批评指正。本书责任编辑的联系方法是quyanlian2@ptpress.com.cn,欢迎来信交流。
编者
2005年5月
无封面