第一部分 模式和J2EE 3
第1章 导论 3
什么是J2EE 4
什么是模式 5
历史回顾 5
模式的定义 5
模式的分类 6
J2EE模式目录 7
演化过程 7
怎样使用J2EE模式目录 8
使用模式的益处 9
模式、框架和重用 10
小结 11
第2章 表现层设计考虑和不佳实践 13
表现层设计考虑 14
会话管理 14
控制客户端访问 16
验证 20
助手类属性——完整性和一致性 21
表现层不佳实践 23
多个视图中都包括控制代码 23
把表现层的数据结构暴露给业务层 24
把表现层数据结构暴露给业务领域对象 24
允许重复提交表单 25
把敏感资源暴露给客户端的直接访问 25
假定〈jsp:setProperty〉会重置Bean属性 26
创建出“胖控制器” 26
把视图助手当成scriplet使用 26
第3章 业务层设计考虑和不佳实践 31
业务层设计考虑 32
使用session bean 32
使用entity bean 34
缓存EJB的远程引用和句柄 36
业务层和集成层不佳实践 36
把对象模型直接映射为entity bean模型 36
把关系型模型直接映射为entity bean模型 37
把每个用例映射为一个session bean 37
通过Getter/Setter方法暴露EJB的所有属性 38
在客户端中包括服务寻址代码 38
把entity bean当成只读对象使用 39
把entity bean当成细粒度对象使用 39
存储entity-bean的整个从属对象拓扑结构 40
把EJB相关的异常暴露给非EJB客户端 40
使用entity bean finder方法返回大型结果集 41
客户端负责聚合来自业务组件的数据 41
把EJB用于长时间持续的事务 42
每次调用无状态session bean都要重建对话状态 42
第4章 J2EE重构 45
表现层的重构 46
引入控制器 46
引入同步器令牌 48
隔离不同逻辑 51
对业务层隐藏表现细节 57
去除视图中的转换 60
对客户端隐藏资源 63
业务层和集成层的重构 66
用session bean包装entity bean 66
引入业务代表 67
合并session bean 69
减少entity bean之间的通信 70
将业务逻辑移至session bean 71
一般的重构 72
分离数据访问代码 72
按层重构系统架构 73
使用连接池 75
第二部分 J2EE模式目录 81
第5章 J2EE模式概览 81
什么是模式 82
发现模式 83
模式vs.策略 83
分层思路 83
J2EE模式 85
表现层模式 85
业务层模式 85
集成层模式 86
J2EE模式目录指南 86
术语 86
UML的使用 88
模式模板 89
J2EE模式关系 90
与现有其他模式的关系 93
模式路线图 93
小结 96
第6章 表现层模式 97
拦截过滤器 98
问题 98
约束 98
解决方案 98
效果 113
相关模式 113
前端控制器 114
问题 114
约束 114
解决方案 114
效果 125
相关模式 125
Context对象 125
问题 125
约束 126
解决方案 126
效果 144
相关模式 144
应用控制器 145
问题 145
约束 145
解决方案 145
效果 171
相关模式 171
视图助手 172
问题 172
约束 172
解决方案 173
效果 186
相关模式 187
复合视图 187
问题 187
约束 188
解决方案 188
效果 195
示例代码 195
相关模式 198
服务到工作者 198
问题 198
约束 198
解决方案 198
效果 201
示例代码 202
相关模式 207
分配器视图 207
问题 207
约束 207
解决方案 208
效果 211
示例代码 212
相关模式 216
第7章 业务层模式 217
业务代表 218
问题 218
约束 218
解决方案 218
效果 223
示例代码 223
相关模式 227
服务定位器 228
问题 228
约束 228
解决方案 228
效果 237
示例代码 238
相关模式 247
会话门面 247
问题 247
约束 248
解决方案 248
效果 251
示例代码 252
相关模式 259
应用服务 260
问题 260
约束 260
解决方案 260
效果 267
示例代码 267
相关模式 272
业务对象 273
问题 273
约束 274
解决方案 274
效果 281
示例代码 282
相关模式 284
复合实体 285
问题 285
约束 286
解决方案 286
效果 292
示例代码 293
相关模式 303
传输对象 304
问题 304
约束 304
解决方案 304
效果 311
示例代码 311
相关模式 318
传输对象组装器 318
问题 318
约束 319
解决方案 319
效果 321
示例代码 322
相关模式 326
值列表处理器 326
问题 326
约束 327
解决方案 327
效果 331
示例代码 332
相关模式 338
第8章 集成层模式 339
数据访问对象 340
问题 340
约束 340
解决方案 340
效果 365
相关模式 366
服务激活器 367
问题 367
约束 367
解决方案 367
效果 380
相关模式 381
业务领域存储 381
问题 381
约束 382
解决方案 382
效果 412
相关模式 413
Web Service中转 413
问题 413
约束 414
解决方案 414
效果 431
相关模式 431
尾声 433
WebWorker微架构纵览 434
工作流简介 434
WebWorker微架构 436
问题 436
约束 438
解决方案 438
效果 463
参考书目 465
Apache软件授权协议1.1版 471
索引 473