第1章 Web应用程序开发概述 1
1.1 Web发展历史 1
1.2 Web应用程序的体系结构 2
1.2.1 2层体系结构 2
1.2.2 3层体系结构 3
1.2.3 4层体系结构 3
1.3 Web开发技术与开发工具 4
1.3.1 Web开发技术 4
1.3.2 Web开发工具 7
1.4 Web开发环境配置 8
1.4.1 ASP开发环境的配置 8
1.4.2 Perl开发环境配置 10
1.4.3 PHP开发环境配置 19
1.4.4 JSP开发环境配置 27
1.4.5 常见Web开发技术的性能比较 28
1.5 Web应用程序的特点 30
1.6 本章小结 31
第2章 HTTP 32
2.1 HTTP简介 32
2.2 HTTP的通信机制 32
2.3 HTTP请求 34
2.3.1 HTTP请求格式 34
2.3.2 HTTP请求方法 35
2.4 HTTP应答 36
2.4.1 HTTP应答格式 36
2.4.2 HTTP应答码 37
2.5 内容类型 37
2.5.1 服务器使用内容类型的方法 38
2.5.2 内容类型的格式 38
2.5.3 非标准类型 39
2.6 安全连接 39
2.7 本章小结 40
第3章 用户接口设计 41
3.1 单向用户接口 41
3.1.1 辅助窗口设计 41
3.1.2 层设计 43
3.1.3 提示窗口设计 45
3.2 双向用户接口 46
3.2.1 对话框设计 46
3.2.2 表单设计 47
3.3 用户接口设计原则 65
3.4 本章小结 65
第4章 客户端信息获取 66
4.1 HTTP头信息 66
4.1.1 HTTP头信息的数据格式 66
4.1.2 获取HTTP头信息的方法 66
4.2 Cookie 68
4.2.1 Cookie的工作原理 69
4.2.2 Cookie的基本参数 70
4.2.3 Cookie的数据格式 70
4.2.4 Cookie的存取方法 71
4.2.5 Cookie应用示例 74
4.3 查询字符串 76
4.3.1 查询字符串的数据格式 77
4.3.2 获取查询字符串的方法 77
4.4 表单内容 78
4.4.1 表单内容的数据格式 78
4.4.2 获取表单内容的方法 79
4.5 客户计算机信息 81
4.6 本章小结 83
第5章 会话管理 84
5.1 HTTP的缺陷 84
5.3.1 Perl的会话管理解决方案 85
5.3 会话管理解决方案 85
5.2 会话机制剖析 85
5.3.2 PHP的会话管理解决方案 89
5.3.3 ASP的会话管理解决方案 96
5.3.4 JSP的会话管理解决方案 99
5.4 关于会话的几个试验 101
5.4.1 试验一PHP会话的基本工作方式 101
5.4.2 试验二PHP会话中Cookie的作用 103
5.4.3 试验三PHP的session_destroy()函数与session_unset()函数 103
5.4.4 实验四ASP会话的工作原理 105
5.4.5 实验五JSP会话测试 107
5.5 本章小结 109
第6章 数据访问 110
6.1 数据库访问 110
6.1.1 数据库应用程序接口 111
6.1.2 SQL语言 115
6.1.3 数据库访问程序的基本结构 116
6.1.4 连接数据库 117
6.1.5 查询数据记录 124
6.1.6 修改数据记录 127
6.1.7 显示数据记录 128
6.2 文件操作 142
6.2.1 文件处理概述 142
6.2.2 文件基本操作 143
6.2.3 文件远程处理 147
6.3 XML处理 156
6.3.1 XML简介 156
6.3.2 创建XML文件 159
6.3.3 显示XML文件 165
6.3.4 XML文件内容操作 173
6.4 电子邮件 178
6.4.1 发送纯文本邮件 179
6.4.2 发送带附件的邮件 183
6.4.3 接收电子邮件 184
6.5 Office文档 186
6.5.1 Excel文档 186
6.5.2 Word文档 191
6.6 本章小结 193
第7章 参数传递 194
7.1 基于表单隐藏域的参数传递方法 194
7.1.1 基本原理 194
7.1.2 应用实例 195
7.2 基于Cookie的参数传递方法 197
7.2.1 基本原理 198
7.2.2 应用实例 198
7.3 基于查询字符串的参数传递方法 201
7.3.1 基本原理 201
7.3.2 应用实例 201
7.4.1 基本原理 203
7.4 基于服务器内存变量的参数传递方法 203
7.4.2 应用实例 204
7.5 基于服务器文件的参数传递方法 207
7.5.1 基本原理 207
7.5.2 应用实例 207
7.6 参数传递方法比较 210
7.7 本章小结 210
第8章 用户跟踪 211
8.1 用户身份确认方法 211
8.2 用户在线状态跟踪 212
8.2.1 基本思路 212
8.2.2 算法设计 213
8.2.3 程序实现 214
8.3 用户当前位置跟踪 217
8.3.3 程序实现 218
8.3.1 基本思路 218
8.3.2 算法设计 218
8.4 用户访问路线跟踪 221
8.4.1 基本思路 221
8.4.2 算法设计 221
8.4.3 程序实现 222
8.5 本章小结 224
第9章 流量统计 225
9.1 页面流量统计 225
9.1.1 系统首页的流量统计 225
9.1.2 系统每一页的流量统计 227
9.1.3 用户访问页面的次数统计 228
9.2 IP流量统计 229
9.3 Web服务器日志分析 230
9.3.1 Web服务器的日志格式 230
9.3.2 基于Web服务器日志的访问流量统计 231
9.3.3 基于Web服务器日志的IP流量统计 234
9.4 流量数据的图形化表示方法 235
9.4.1 图形数字表示方法 235
9.4.2 条形图表示方法 237
9.4.3 饼图表示方法 241
9.5 本章小结 245
第10章 时间处理 246
10.1 时间获取 246
10.1.1 客户端时间获取 246
10.1.2 服务器时间获取 248
10.2 时钟问题 248
10.2.1 基本思路 248
10.2.2 数字时钟 249
10.2.3 图形时钟 252
10.3.1 停留时间 257
10.3 计时方法 257
10.3.2 倒计时 258
10.3.3 定时 262
10.4 日历设计 266
10.4.1 功能简介 266
10.4.2 关键问题 266
10.4.3 设计实例 267
10.5 本章小结 269
第11章 安全控制 270
11.1 Web应用程序安全概述 270
11.1.1 Web应用程序面临的安全威胁 270
11.1.2 Web应用程序安全控制的基本框架 271
11.1.3 防火墙在Web应用程序安全中的应用 272
11.1.4 安全原则在Web应用程序安全中的应用 274
11.2 客户端安全控制 274
11.2.1 浏览器插件安全控制 275
11.2.2 Cookie安全控制 276
11.2.3 脚本程序安全控制 278
11.3 服务器安全控制 281
11.3.1 用户身份验证 282
11.3.2 服务器资源访问控制 290
11.3.3 CGI/API程序安全控制 297
11.4 网络传输安全控制 301
11.4.1 SSL的工作原理 301
11.4.2 为Web应用程序配置SSL 302
11.5 本章小结 307
第12章 性能优化 308
12.1 Web应用程序性能测试 308
12.1.1 Web应用程序的性能测试概述 308
12.1.2 基于ApacheBench的性能测试 309
12.1.3 基于WAST的性能测试 312
12.2 环境优化 314
12.2.1 Web服务器 315
12.2.2 程序运行模式 316
12.3 程序优化 317
12.3.1 输出方式 317
12.3.2 注释语句 320
12.3.3 脚本使用方式 321
12.3.4 包含文件 323
12.3.5 分支结构 325
12.3.6 循环结构 327
12.4 数据库优化 330
12.4.1 连接方式 330
12.4.2 SQL语句 334
12.4.3 字段输出 337
12.4.4 分页显示 340
12.5 本章小结 341
13.1.1 UML概述 342
13.1.2 UML中的事物 342
13.1 统一建模语言——UML 342
第13章 Web应用程序建模 342
13.1.3 UML中的关系 344
13.1.4 UML中的图 345
13.1.5 UML建模工具 345
13.2 基于UML的Web应用程序建模 346
13.2.1 体系结构分析 346
13.2.2 用户角色分析 347
13.2.3 系统需求分析 348
13.2.4 事务流程分析 348
13.2.5 Web页面建模 349
13.3 Web建模语言——WebML 352
13.3.1 WebML概述 352
13.3.2 结构模型 353
13.3.3 超文本模型 355
13.3.4 站点视图 361
13.3.5 WebML建模流程 362
13.4 本章小结 363
第14章 案例研究——Web办公系统 364
14.1 系统分析 364
14.1.1 功能描述 364
14.1.2 体系结构 364
14.1.3 用户分析 365
14.1.4 系统用例 365
14.2 模块设计 366
14.2.1 模块功能与组织方式 366
14.2.2 文档交流模块建模 367
14.3 关键问题与解决方案 369
14.3.1 用户管理方案 369
14.3.3 收文人指定方法 370
14.4 本章小结 370
14.3.2 用户身份自动识别问题 370
第15章 Web应用程序的扩展 372
15.1 WAP应用程序开发 372
15.1.1 体系结构 372
15.1.2 环境配置 373
15.1.3 开发步骤 375
15.1.4 程序示例 376
15.2 基于Web的MATLAB应用程序开发 377
15.2.1 体系结构 378
15.2.2 环境配置 378
15.2.3 开发步骤 380
15.2.4 程序示例 382
15.3 本章小结 385
附录A HTIP应答码 386
附录B 环境变量 389
附录C SSL 3.0 390