目 录
第 1部分 入门指南
第 1章 导言 3
1.1 Java Web应用程序开发和Eclipse 3
1.2 本书所包含的内容 3
1.3 本书的组织方式 4
1.4 源代码实例 6
1.5 League Planet简介 7
1.6 小结 8
第 2章 Eclipse Web工具平台项目基础 9
2.1 WTP的产生 9
2.2 WTP经济学 11
2.2.1 降低开发费用 11
2.2.2 获得收入 13
2.3 WTP的结构 16
2.3.1 WTP的范围 16
2.3.2 WTP子项目 17
2.3.3 WTP体系结构 19
2.3.4 WST子项目 20
2.3.5 JST子项目 25
2.4 为WTP做贡献 27
2.4.1 成为一个用户 27
2.4.2 关注新闻组 27
2.4.3 报告错误 27
2.4.4 改进建议 28
2.4.5 修复程序缺陷 28
2.4.6 编写文章和教程 29
2.4.7 成为一个提交者 29
2.4.8 发展社区 29
2.5 小结 30
第3章 快速导航 31
3.1 概述 31
3.2 迭代1:J2EE Web应用程序 33
3.2.1 添加一个服务器运行时环境 34
3.2.2 创建一个动态Web项目 38
3.2.3 创建并编辑一个JSP 42
3.2.4 在服务器上运行JSP 43
3.2.5 迭代1小结 44
3.3 迭代2:Servlets和小脚本 45
3.3.1 在JSP中增加一个Java小脚本 46
3.3.2 调试JSP 47
3.3.3 创建一个Servlet 49
3.3.4 调试一个Servlet 53
3.3.5 迭代2小结 54
3.4 迭代3:数据库访问 55
3.4.1 连接一个数据库 56
3.4.2 执行SQL语句 58
3.4.3 在Web应用程序中添加数据库访问 60
3.4.4 迭代3小结 65
3.5 迭代4:Web服务 65
3.5.1 部署一个Web服务 66
3.5.2 使用测试客户端 68
3.5.3 监视SOAP消息 69
3.5.4 迭代4小结 69
3.6 小结 70
第4章 配置自己的工作空间 71
4.1 安装和更新WTP 71
4.1.1 WTP可安装的组件 71
4.1.2 WTP版本类型 72
4.1.3 通过更新管理器安装 74
4.1.4 通过zip文件安装 76
4.1.5 安装第三方内容 78
4.1.6 JDK安装 80
4.1.7 验证安装 81
4.1.8 更新WTP 81
4.2 配置WTP 82
4.2.1 数据首选项 82
4.2.2 互联网首选项 83
4.2.3 服务器首选项 83
4.2.4 验证首选项 83
4.2.5 Web和XML首选项 83
4.2.6 Web服务首选项 84
4.2.7 XDoclet首选项 85
4.2.8 共享设置 85
4.3 小结 85
第 2部分 Java Web应用程序开发
第5章 Web应用程序架构和设计 89
5.1 Web的前景 89
5.2 Web应用程序 90
5.2.1 Java Web应用程序 91
5.2.2 设计Java Web应用程序 92
5.2.3 分层Web应用程序设计 94
5.2.4 Web下的MVC框架 96
5.2.5 Java应用程序框架 100
5.3 面向服务的架构(SOA) 102
5.4 案例研究:League Planet 104
5.5 小结 105
第6章 组织开发项目 107
6.1 Web项目类型和J2EE应用程序 108
6.1.1 Web项目 108
6.1.2 J2EE模块 109
6.1.3 创建应用程序 110
6.1.4 创建Web应用程序 110
6.1.5 创建EJB应用程序 116
6.1.6 创建企业应用程序 120
6.2 高级Web项目 126
6.3 示例项目 130
6.3.1 基本的企业应用程序 130
6.3.2 将Web模块划分为多个项目 134
6.3.3 在Web应用程序开发中使用Maven 142
6.4 小结 158
第7章 表示层 159
7.1 引言 159
7.2 交互设计 160
7.3 图形设计 161
7.4 表示层的结构 163
7.5 迭代1:静态Web项目、HTML和结构化源代码编辑器 165
7.5.1 静态Web项目 165
7.5.2 HTML 168
7.5.3 结构化源代码编辑器 174
7.5.4 模板 177
7.5.5 代码片段 178
7.5.6 迭代1小结 182
7.6 迭代2:CSS 183
迭代2小结 187
7.7 迭代3:JavaScript 187
7.7.1 E-mail地址模糊化 188
7.7.2 表单输入验证 190
7.7.3 迭代3小结 200
7.8 迭代4:XML和XSLT 200
7.8.1 XML 200
7.8.2 XSLT 204
7.8.3 迭代4小结 208
7.9 迭代5:DTD 208
迭代5小结 211
7.10 迭代6:服务器、动态Web项目和Servlet 211
7.10.1 服务器 211
7.10.2 动态Web项目 217
7.10.3 Servlets 218
7.10.4 迭代6小结 226
7.11 迭代7:JSP 226
迭代7小结 235
7.12 迭代8:监听HTTP会话 235
7.12.1 HTTP会话 235
7.12.2 TCP/IP监听器 235
7.12.3 使用TCP/IP监听器查看HTTP会话 236
7.12.4 修改并重发信息 238
7.12.5 迭代8小结 240
7.13 小结 240
第8章 业务逻辑层 241
8.1 通用的业务逻辑层设计 243
8.2 迭代1:领域模型 244
8.2.1 J2EE公共工具项目 244
8.2.2 对象模型 246
8.2.3 服务层 251
8.2.4 数据访问层 255
8.2.5 测试 262
8.2.6 迭代1小结 265
8.3 迭代2:开发会话EJB 266
8.3.1 添加JBoss 269
8.3.2 XDoclet 270
8.3.3 EJB项目 273
8.3.4 创建会话Bean 276
8.3.5 构建一个Web客户端 283
8.3.6 运行应用程序 286
8.3.7 用WTP开发EJB 3.0 289
8.3.8 迭代2小结 291
8.4 迭代3:消息驱动Bean 291
8.4.1 MDB简介 292
8.4.2 创建一个MDB 292
8.4.3 在JBoss中添加一个队列 296
8.4.4 创建一个JMS Web客户端 296
8.4.5 迭代3小结 300
8.5 小结 300
第9章 持久层 301
9.1 持久层设计 302
9.1.1 使用JDBC API实现对象与数据库的映射 303
9.1.2 使用实体Bean实现对象与数据库的映射 303
9.1.3 使用O/R框架实现对象到数据库的映射 304
9.2 迭代概述 305
9.3 迭代1:创建一个数据库 305
迭代1小结 313
9.4 迭代2:数据层 313
迭代2小结 319
9.5 迭代3:实体Bean 319
9.5.1 准备JBoss、Derby和XDoclet 320
9.5.2 添加一个CMP 323
9.5.3 添加ejbCreate和finder方法 327
9.5.4 添加冰球CMP数据访问对象 334
9.5.5 测试CMP实现 337
9.5.6 用WTP开发JPA 341
9.5.7 迭代3小结 345
9.6 小结 345
第 10章 Web服务 346
10.1 WSDL 347
10.2 SOAP 347
10.3 REST 348
10.4 REST风格的Web服务 350
10.5 迭代概述 351
10.6 迭代1:自顶向下开发Web服务 351
10.6.1 XSD 352
10.6.2 WSDL 358
10.6.3 部署Web服务 361
10.6.4 实现Web服务 366
10.6.5 用Web服务管理器测试 372
10.6.6 迭代1小结 375
10.7 迭代2:自底向上开发Web服务 375
10.7.1 开发Java服务实现 375
10.7.2 部署服务 380
10.7.3 迭代2小结 383
10.8 迭代3:生成Web服务的客户端代理 383
10.8.1 生成一个Java客户端代理和JSP测试客户端 384
10.8.2 使用JSP测试客户端 387
10.8.3 迭代3小结 389
10.9 迭代4:测试Web服务的互操作性 389
10.9.1 检查消息的WS-I兼容性 390
10.9.2 迭代4小结 394
10.10 迭代5:在Web应用程序中使用Web服务 395
10.10.1 为Web服务Query生成客户端 395
10.10.2 创建Servlet 395
10.10.3 导入用户界面代码 397
10.10.4 测试用户界面 409
10.10.5 迭代5小结 411
10.11 迭代6:发现和发布Web服务 413
10.11.1 UDD I 413
10.11.2 WSIL 419
10.11.3 迭代6小结 425
10.12 小结 425
第 11章 测试 426
11.1 自动化测试 427
11.2 迭代概述 428
11.3 迭代1:基于JUnit的单元测试 428
11.3.1 创建一个测试项目 429
11.3.2 JUnit测试用例 430
11.3.3 JUnit测试套件 433
11.3.4 迭代1小结 435
11.4 迭代2:基于Cactus的集成测试 435
迭代2小结 441
11.5 迭代3:基于HttpUnit的系统测试 442
迭代3小结 446
11.6 迭代4:基于TPTP的性能测试 446
11.6.1 创建一个性能测试项目 448
11.6.2 HTTP记录测试 448
11.6.3 生成报表 450
11.6.4 迭代4小结 451
11.7 迭代5:使用TPTP进行剖析 451
迭代5小结 455
11.8 小结 456
第3部分 扩展WTP
第 12章 添加新的服务器 459
12.1 添加通用服务器适配器 461
12.2 GlassFish服务器运行时环境 462
12.3 服务器适配器插件 463
12.4 添加对新服务器运行时的支持 465
12.5 为运行时环境添加一个新的服务器类型 467
12.6 添加新运行时的目标句柄 468
12.7 刻面和运行时组件 468
12.8 扩展服务器工具的UI 471
12.9 通用服务器定义 472
12.10 发布器 476
12.11 测试服务器适配器 479
12.12 小结 486
第 13章 支持新文件类型 487
13.1 创建DocBook扩展插件 488
13.2 DocBook验证器 489
13.2.1 WTP验证框架 490
13.2.2 实现DocBook验证器 490
13.3 创建一个自定义的标记类型 499
13.4 声明DocBook内容类型 501
13.5 小结 504
第 14章 创建WSDL扩展 505
14.1 创建WSDL扩展插件 509
14.2 扩展WSDL编辑器 510
14.2.1 自定义编辑器设计视图中可扩展元素的外观 511
14.2.2 为编辑器添加一个可扩展元素 513
14.2.3 在WSDL编辑器的设计视图中添加自定义操作 521
14.3 扩展WSDL验证 527
14.3.1 为WSDL 1.1验证做贡献 528
14.3.2 贡献自定义的验证规则 531
14.4 小结 534
第 15章 自定义资源解析 535
15.1 创建资源解析扩展插件 537
15.2 为XML目录提供资源 537
15.2.1 XML目录 539
15.2.2 在XML目录中添加一个独立的资源 539
15.2.3 将一个资源目录添加到XML目录中 542
15.3 实现一个自定义资源解析策略 545
15.3.1 URI解析框架 546
15.3.2 创建文件夹URI解析器 548
15.4 小结 551
第4部分 产品和计划
第 16章 其他基于Eclipse的Web工具 555
16.1 Java Web工具 555
16.1.1 BEA Workshop 556
16.1.2 CodeGear JBuilder 556
16.1.3 Exadel Studio 556
16.1.4 IBM Rational Application Developer for WebSphere Software 556
16.1.5 JBoss IDE for Eclipse 557
16.1.6 MyEclipse 557
16.1.7 ObjectWeb Lomboz 558
16.1.8 SAP NetWeaver Developer Studio 558
16.1.9 W4T Eclipse 558
16.2 Perl Web工具 559
16.3 PHP Web工具 559
16.3.1 Eclipse PHP开发工具项目 560
16.3.2 PHPEclipse 560
16.4 Python Web工具 560
16.5 Ruby Web工具 560
16.6 小结 561
第 17章 未来之路 562
17.1 Eclipse数据工具平台(DTP)项目 563
17.2 Eclipse Java Server Faces(JSF)工具项目 563
17.3 Eclipse Dali Java持久性架构(JPA)工具项目 563
17.4 Eclipse AJAX工具框架(ATF)项目 564
17.5 Java企业版5 564
17.6 Apache Axis2和W3C WSDL 2.0 564
17.7 Eclipse PHP开发工具项目 565
17.8 Eclipse SOA工具平台(STP)项目 565
17.9 结束语 566
术语表 567