
本书通过大量的实例全面深入地阐述了Ajax+JSP编程技术。全书共分为16章,包括JSP的基础知识、JSP访问外部数据、JSP高级技术、Ajax概述、Ajax相关技术、Ajax开发基础、Ajax开发模式、Ajax框架、Ajax常用技巧。本书最后介绍了6个开发实例,包括聊天室程序、留言本程序、通讯录程序、购物车程序、相册程序和Blog程序。配套光盘提供了本书源代码(包括6个完整的应用程序)和Ajax+JSP软件配置以及使用教学视频。
本书适合于中、高级Ajax+JSP网站开发人员,特别适合于有编程基础,希望全面学习Ajax+JSP技术,想提高实际应用能力的读者群体。
在目前的Web 2.0热潮中,Ajax已成为人们谈论最多的技术术语。Ajax(Asynchronous JavaScript and XML)是多种技术的综合,Ajax技术基于被各大浏览器和平台都支持的公开标准的技术,组成Ajax技术的大多数技术都经过很多年的实践考验。它使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XST进行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用JavaScript绑定和处理所有数据,更重要的是,它打破了使用页面重载的惯例技术组合,可以说,Ajax已成为Web开发的重要工具。
Google Earth的广泛应用吸引了Web开发人员,由此揭开了罩在Ajax上的面纱。Ajax技术的广泛采用,已被业内人士证明了其受市场的欢迎程度和该技术组的正确。该技术的使用者都成为了胜利者,包括Google、Yahoo、Amazon和Microsoft等。
本书通过大量的实例全面而深入地阐述了Ajax编程技术的方方面面。全书共分为16章,其内容如下所述。
第1章为JSP概述,全面地介绍了JSP产生和发展的过程,并重点论述了JSP环境的构建与配置。
第2章为JSP的基础知识,主要介绍了两部分内容,即JSP页面组成元素和JSP内置对象。前部分从页面声明开始介绍,然后介绍程序片、表达式、指令标签和动作标签等;后部分从JSP内置对象着手,详细地介绍了常用的内置对象,如request、session等。
第3章为JSP访问外部数据,主要介绍了利用JSP技术获取外部数据。JSP技术以流的形式获取文件中数据,常见的流有字节流和字符流。本章地重点在于JSP获取数据库中的数据,以实例的方式介绍了操作数据库中的数据。
第4章为JSP的高级技术,主要阐述了两种非常流行的JSP技术,即JavaBean和Servlet。本章前部分介绍了利用JSP页面调用JavaBean、JavaBean的作用域范围、JSP页面与JavaBean之间传递数据;本章后部分主要介绍Servlet技术,从简单的Servlet类入手,介绍了创建Servlet类的步骤和配置、Servlet技术常用接口。在本章的后面给出了一个结合JSP、JavaBean和Servlet三种技术的MVC程序。
第5章为Ajax概述,主要介绍了Ajax技术的相关概念。本章从Web 2.0的形成和发展过程开始讲起,论述了Ajax的概念和实现的工作原理。
第6章为Ajax相关技术简介,主要介绍了Ajax的相关技术,如XHTML、CSS、XML、DOM、XMLHttpRequest和JavaScript技术,本章是Ajax技术的基础章节。
第7章为Ajax的开发基础,主要介绍了Ajax客户端对发送和获取信息的信息格式处理。本章从传输数据的格式入手,介绍了常用的两种传送格式,即普通字符串和XML文件格式字符串。
第8章为Ajax开发模式,主要介绍了Ajax比较流行的开发模式,如Fa?ade、Observer、MVC等模式。
第9章为Ajax框架,重点介绍了Ajax的流程框架,如Dojo、MooTools等。本章从Ajax的框架种类开始介绍,重点介绍基于浏览器的框架。
第10章为Ajax的常用技巧,主要介绍了Ajax技术在实际开发中,需要使用的Ajax技巧,如表单验证、自动刷新页面、级联菜单和数据库分页显示等。
第11章为聊天室程序,主要介绍了使用Ajax+JSP技术实现聊天室。该实例以记事本为开发工具,Tomcat为服务器,以简陋的条件实现了Ajax技术,更能体现Ajax的本质,这是本书的一大特点。
第12章为留言板程序,主要介绍了Ajax实现留言板的实例。本章的留言板程序具有添加留言、删除留言和查看留言等功能。
第13章为通讯录程序,主要介绍了同学通讯录的实现过程,具有添加、删除、修改等功能。
第14章为购物车实例程序,主要介绍了购物车实现过程,具有查看购物车、添加购物车等功能。
第15章为相册系统程序,主要介绍了Ajax实现网上浏览相片,上传相片的过程。本章是以Eclipse为开发工具实现的。
第16章为Blog系统程序,主要介绍了现在比较流行的Blog的创建过程。实现文章管理、类别管理、用户管理等功能。该程序的实现过程中,包含了对数据库各种不同的操作,如分页、更新、删除和采用数据库函数等。
本书全面介绍了Ajax+JSP面向实践的开发和应用知识,具有下面的特点。
? 内容全面 本书是一本大全性质的Ajax+JSP编程图书,突出介绍了Ajax+JSP面向实际的开发知识。读者学习本书之后,可以全面地掌握Ajax+JSP动态网站开发的实践知识。
? 实例丰富 全书每个知识点的讲解都配有大量可实际运行的实例,读者可以边学习边实践,快速、全面地掌握Ajax+JSP的开发方法和技巧。书中最后提供了6个典型开发实例,覆盖了Ajax+JSP开发和部署网站的全部过程。
配套光盘提供了本书源代码(包括6个完整的应用程序)和Ajax+JSP软件配置与使用教学视频。读者只要按照书中的范例上机练习、举一反三,就可以根据自己的需要开发出功能强大的Web动态网站。
本书适合于中、高级Ajax+JSP网站开发人员,特别适合于有编程基础,希望全面学习Ajax+JSP技术,提高实际应用能力的读者群体。
除了封面署名人员之外,参与本书编写的人员还有李乃文、张仕禹、夏小军、赵振江、李振山、李文采、吴越胜、李海庆、何永国、李海峰、陶丽、吴俊海、安征、张巍屹、崔群法、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏静、赵元庆、郭磊、徐铭、李大庆、王蕾、张勇、郝安林等。在编写过程中难免会有疏漏之处,希望大家谅解,并欢迎读者与我们联系,帮助我们改正提高。
Ajax+JSP网站开发从入门到精通
II
III
第1章 JSP概述 1
1.1 JSP简介 1
1.1.1 JSP技术概述 1
1.1.2 JSP的开发模式 4
1.2 JSP的开发环境 6
1.2.1 安装和配置JDK 6
1.2.2 安装和配置Tomcat 9
1.2.3 JSP的运行原理 13
1.3 JSP开发实例 16
第2章 JSP的基础知识 19
2.1 JSP页面元素 19
2.2 JSP脚本元素 21
2.2.1 声明 21
2.2.2 Java脚本程序 24
2.2.3 表达式和注释 24
2.3 JSP指令元素 25
2.3.1 页面设置指令page 25
2.3.2 页面包含指令include 27
2.4 JSP动作元素 28
2.4.1 <jsp:include>文件包含 28
2.4.2 <jsp:forward>文件转向 30
2.4.3 其他动作指令 31
2.5 request对象 32
2.5.1 request简介 33
2.5.2 获取客户端基本信息 34
2.5.3 获取参数值 36
2.6 response对象 38
2.6.1 response简介 38
2.6.2 设置响应信息 39
2.6.3 页面重定向 40
2.7 session对象 42
2.7.1 session简介 42
2.7.2 绑定会话 43
2.8 application对象 45
2.8.1 applciation简介 45
2.8.2 绑定全局变量 46
2.9 其他对象 47
2.9.1 out对象 47
2.9.2 exception对象 48
2.9.3 page和config对象 50
2.10 留言板实例 51
第3章 JSP访问外部数据 55
3.1 File类 55
3.2 流操作 59
3.2.1 流简介 60
3.2.2 使用字节流读写文件 60
3.2.3 使用字符流读写文件 63
3.3 文件操作 66
3.3.1 文件上传 66
3.3.2 文件下载 68
3.4 JDBC简介 69
3.4.1 JDBC的概念 69
3.4.2 JDBC API介绍 71
3.5 数据库操作 74
3.5.1 添加记录 74
3.5.2 修改记录 76
3.5.3 删除记录 78
3.5.4 查询记录 80
3.5.5 分页显示记录 82
3.6 获取数据库信息 85
3.7 连接数据库的其他方式 87
第4章 JSP高级技术 90
4.1 JavaBean简介 90
4.1.1 JavaBean介绍 90
4.1.2 定义JavaBean 92
4.2 使用JavaBean 93
4.2.1 调用JavaBean 93
4.2.2 scope作用域范围 96
4.2.3 setProperty动作标记 99
4.2.4 getProperty动作标记 102
4.3 开发JavaBean实例 103
4.3.1 获取记录集JavaBean 103
4.3.2 追加数据JavaBean 105
4.4 Servlet概述 107
4.4.1 Servlet简介 107
4.4.2 Servlet的生命周期 109
4.4.3 开发、部署一个简单的Servlet 110
4.5 实现Servlet 113
4.5.1 Servlet体系结构 113
4.5.2 创建Servlet类 115
4.6 Servlet处理请求和响应 118
4.7 Servlet中会话跟踪 121
4.8 JSP+Servlet+JavaBean实例 123
第5章 Ajax概述 127
5.1 Web 2.0简介 127
5.1.1 Web发展历史 127
5.1.2 Web 2.0简介 129
5.2 Ajax结构及其意义 130
5.2.1 传统Web应用解决方案 131
5.2.2 Ajax技术概念 131
5.2.3 Ajax相关技术简介 132
5.2.4 Ajax解决方案的优势 134
5.3 深入理解Ajax 135
5.3.1 Ajax的工作原理 135
5.3.2 Ajax的基本特征 136
5.4 Ajax异步请求实例 139
第6章 Ajax相关技术简介 142
6.1 XHTML 142
6.1.1 XHTML概述 142
6.1.2 XHTML与HTML的区别 145
6.1.3 XHTML的语法 147
6.1.4 XHTML 2.0简述 157
6.2 CSS 158
6.2.1 CSS语法 159
6.2.2 引入样式表 162
6.2.3 CSS属性 164
6.3 XML 170
6.3.1 XML文档 170
6.3.2 XML命名空间 173
6.3.3 文档类型定义(DTD) 175
6.4 JavaScript 179
6.4.1 JavaScript简介 179
6.4.2 JavaScript的基本结构 181
6.4.3 表达式与运算符 182
6.4.4 流程控制 183
6.4.5 函数 185
6.4.6 事件驱动及事件处理 186
6.4.7 创建对象 188
6.4.8 JavaScript中的对象 190
6.5 DOM 193
6.5.1 DOM对象 193
6.5.2 使用DOM操作HTML文档 196
6.5.3 使用DOM解析XML文档 198
6.6 XMLHttpRequest 201
6.6.1 XMLHttpRequest简介 201
6.6.2 XMLHttpRequest的属性和方法 203
6.6.3 XMLHttpRequest与服务器通信 205
6.6.4 XMLHttpRequest实例 207
第7章 Ajax的开发基础 211
7.1 HTTP请求中包含的参数 211
7.1.1 发送普通请求 211
7.1.2 发送XML格式请求 217
7.2 处理服务器响应 222
7.2.1 处理普通文本响应 222
7.2.2 处理XML格式响应 225
7.3 Ajax实例 229
第8章 Ajax的开发模式 232
8.1 Ajax与设计模式 232
8.1.1 设计模式 232
8.1.2 Ajax与重构 234
8.1.3 一个使用重构的简单实例 234
8.2 Ajax中常用的设计模式 237
8.2.1 Facade模式 237
8.2.2 Observer模式 238
8.2.3 Singleton模式 239
8.3 MVC模式 241
8.3.1 MVC简介 241
8.3.2 Ajax中的MVC 242
第9章 Ajax框架 249
9.1 Ajax概述 249
9.2 Dojo框架 252
9.2.1 Dojo框架简介 252
9.2.2 安装Dojo框架 253
9.2.3 Dojo标记介绍 255
9.2.4 创建静态页面 257
9.2.5 Dojo事件处理 259
9.2.6 Dojo异步调用 262
9.3 DWR框架 263
9.3.1 DWR框架概述 263
9.3.2 部署DWR框架 265
9.3.3 DWR框架函数 267
9.3.4 身份验证 269
9.3.5 包含文件 271
9.4 MooTools框架 273
9.4.1 MooTools框架介绍 273
9.4.2 安装MooTools框架 274
9.4.3 MooTools常用类(一) 275
9.4.4 MooTools常用类(二) 277
9.4.5 MooTools事件处理 283
9.4.6 MooTools异步调用 284
第10章 Ajax的常用技巧 288
10.1 实现表单数据验证 288
10.2 实现Web页面中的级联菜单 296
10.3 实现自动刷新页面 299
10.4 实现数据库分页 302
10.5 实现进度条 306
10.6 实现Web页面局部动态更新 311
第11章 聊天室 316
11.1 开发前的准备 316
11.1.1 聊天室分析 317
11.1.2 系统概述 317
11.1.3 数据库设计 318
11.2 代码实现 320
11.2.1 公共类编写 320
11.2.2 用户注册 322
11.2.3 用户登录 327
11.2.4 聊天室 330
11.2.5 查看个人聊天记录 334
11.2.6 删除聊天记录 338
11.3 实例演示 341
第12章 留言板 344
12.1 需求分析和系统概述 344
12.1.1 需求分析 344
12.1.2 系统概述 345
12.1.3 数据库设计 346
12.2 客户端代码 347
12.2.1 客户端原理分析 347
12.2.2 主界面客户端实现 348
12.2.3 显示页面客户端实现 352
12.2.4 校验页面客户端实现 353
12.2.5 删除页面客户端实现 355
12.3 服务器端实现 357
12.3.1 封装数据访问类 357
12.3.2 添加处理页面 358
12.3.3 显示处理页面 359
12.3.4 删除处理页面 362
12.3.5 身份校验处理页面 363
12.4 运行留言板程序 363
第13章 通讯录 366
13.1 需求分析和系统概述 366
13.1.1 需求分析 366
13.1.2 系统概述 367
13.1.3 数据库设计 368
13.2 客户端页面实现 368
13.2.1 通讯录输入页面 369
13.2.2 通讯录删除页面 372
13.2.3 通讯录显示页面 374
13.2.4 通讯录修改页面 376
13.2.5 通讯录简单查询页面 380
13.2.6 通讯录高级查询页面 381
13.3 服务器端页面实现 383
13.3.1 输入处理页面 383
13.3.2 删除处理页面 385
13.3.3 显示处理页面 387
13.3.4 修改处理页面 389
13.3.5 简单查询处理页面 390
13.3.6 高级查询处理页面 391
13.4 运行通讯录程序 392
第14章 购物车实例 396
14.1 开发前的准备 396
14.1.1 需求分析 396
14.1.2 系统设计 397
14.1.3 数据库设计 398
14.2 核心代码 400
14.2.1 服务器端代码 400
14.2.2 客户端代码 408
14.3 实例演示 411
14.3.1 登录/注册模块 411
14.3.2 商品类别模块 417
14.3.3 订单模块 419
第15章 网络相册系统 424
15.1 需求分析 424
15.2 系统分析 426
15.3 数据库设计 426
15.4 系统公共类 428
15.4.1 数据库对象类 428
15.4.2 JavaBean类 431
15.4.3 业务逻辑类 433
15.4.4 公用工具类 434
15.5 配置web.xml 439
15.6 页面显示 441
15.6.1 源码解析 441
15.6.2 运行时界面截图 445
第16章 Blog系统 448
16.1 Blog介绍 448
16.2 系统概述 450
16.3 数据库设计 451
16.4 通用模块设计 452
16.5 首页实现 454
16.6 系统实现 456
16.6.1 注册Blog会员 456
16.6.2 添加Blog文章 462
16.6.3 分页浏览文章标题 465
16.6.4 阅读Blog文章 469
16.6.5 Blog文章删除 474
16.6.6 Blog会员登录 478
Ajax+JSP网站开发从入门到精通
VI
VII