第1章在WebLogic中构建Web应用程序 1
1.1 Java servlet和JSP中的重要概念 1
1.1.1 servlet的特征 1
1.1.2 JSP的特征 6
1.2 Web应用程序最佳实践 11
1.2.1保证正确的错误处理 11
1.2.2使用JSTL标记减少scriptlet代码 13
1.2.3对选定的行为使用自定义标记 16
1.2.4对常见行为使 servlet过滤器 18
1.2.5使用servlet和JSP页面创建Excel文件 22
1.2.6查看产生的servlet代码 25
1.3本章回顾 26
第2章 选择Web应用程序体系结构 27
2.1体系结构的关键概念 27
2.1.1 Java EE应用程序的层次 27
2.1.2 MVC体系结构 28
2.1.3通用Java EE设计模式 29
2.2表示层体系结构的选择 29
2.2.1表示层需求 29
2.2.2有关体系结构的其他考虑 39
2.3可选的表示层体系结构 39
2.3.1以JSP为核心的体系结构 40
2.3.2以servlet为核心的体系结构:Struts 41
2.3.3以servlet为核心的体系结构:Spring MVC 42
2.4本章回顾 45
第3章 设计Java EE应用程序示例 47
3.1应用程序需求 47
3.2业务领域模型 48
3.3表示层需求 48
3.4 Web应用程序体系结构 50
3.5表示方法 51
3.5.1自组装 52
3.5.2母版页组装 55
3.5.3使用Tiles框架进行外部视图组装 56
3.6业务层接口 58
3.6.1控制器调用业务服务 58
3.6.2控制器为JSP填充表单 60
3.6.3更新要求显式的服务调用 61
3.6.4表示层组件之间的关系 61
3.7本章回顾 62
第4章 构建Web应用程序示例 63
4.1应用程序组件概述 63
4.2构建应用程序骨架 65
4.3构建用户站点组件 65
4.3.1预订信息组件 65
4.3.2核心预订流程组件 67
4.3.3提供服务组件 90
4.4管理站点组件的结构 91
4.4.1身份验证和授权组件 91
4.4.2酒店维护组件 94
4.5本章回顾 107
第5章 打包和部署WebLogic Web应用程序 109
5.1打包Web应用程序 110
5.1.1 Web应用程序目录结构 110
5.1.2 Web应用程序描述符文件 112
5.1.3预编译JSP组件 119
5.1.4创建一个分解式Web应用程序 121
5.1.5创建一个Web应用程序的归档文件 125
5.2部署Web应用程序 126
5.2.1自动部署 126
5.2.2 WebLogic部署工具和Ant任务 128
5.2.3 WebLogic控制台部署 130
5.2.4为bigrez.com创建必要的用户和组 132
5.3本章回顾 133
第6章在WebLogic Server中构建企业JavaBean 135
6.1 EJB技术概述 135
6.2 EJB 3.0简介 136
6.3 EJB组件类型 137
6.3.1无状态会话bean 137
6.3.2有状态会话bean 139
6.3.3消息驱动的bean 140
6.3.4拦截器 141
6.4 Java持久化API 142
6.4.1 JPA的历史 142
6.4.2 JPA概念 144
6.4.3一个JPA示例 144
6.4.4应用JPA 164
6.5 WebLogic Server EJB容器 165
6.5.1 EJB容器基础 165
6.5.2 WebLogic Server中EJB的生命周期 165
6.6通用的WebLogic Server EJB特性 167
6.6.1 EJB的部署和重新部署 167
6.6.2动态EJB编译 167
6.6.3 EJB的远程业务接口和JNDI 168
6.6.4 EJB之间的引用 170
6.7会话bean的特性 175
6.7.1无状态会话EJB缓冲池 175
6.7.2有状态会话EJB的缓存管理 176
6.7.3有状态会话EJB的内存中复制 178
6.7.4指向会话bean的句柄 180
6.7.5幂等方法 180
6.8消息驱动的bean的特性 180
6.9 OpenJPA和Kodo特性 181
6.9.1 Kodo部署描述符文件 182
6.9.2获取组 182
6.9.3预先获取 184
6.9.4乐观锁版本策略 184
6.9.5大结果集 187
6.9.6二级缓存 188
6.9.7控制刷新行为 190
6.9.8逆向管理 190
6.9.9混合继承策略 191
6.9.10预处理语句缓存 191
6.10使用部署描述符还是标注 191
6.10.1部署计划 192
6.10.2标注、描述符、计划和依赖注入 193
6.11本章回顾 195
第7章 构建EJB应用程序示例 197
7.1业务层需求 197
7.1.1业务逻辑需求 197
7.1.2对象关系映射需求 199
7.1.3数据访问需求 203
7.1.4其他业k务层需求 203
7.1.5业务层需求的回顾 203
7.2可选的业务层体系结构 204
7.2.1 SLSB和会话外观模式的需求 204
7.2.2使用JDBC的无状态会话EJB 205
7.2.3使用EJB 2.1 CMP实体bean的无状态会话EJB 207
7.2.4使用JPA的无状态会话EJB 209
7.3 bigrez.com的实现 211
7.3.1数据库模式 211
7.3.2域模型 212
7.3.3服务 217
7.3.4单元测试 222
7.3.5添加乐观锁 223
7.4使用TopLink而不是Kodo 223
7.4.1希望使用TopLink的理由 224
7.4.2让bigrez.com使用TopLink 224
7.5本章回顾 227
第8章 打包和部署WebLogic应用程序 229
8.1创建EJB归档文件 229
8.2打包JPA持久化单元 236
8.3企业应用程序 237
8.3.1企业应用程序目录结构 239
8.3.2企业应用程序的描述符文件 241
8.3.3分解式部署 244
8.3.4捆绑库 246
8.3.5共享Java EE库和可选包 248
8.3.6其他类型的模块 249
8.3.7自定义类加载器 250
8.4打包bigrez.com 251
8.5部署应用程序 254
8.5.1创建必需的服务 255
8.5.2自动部署和 weblogic.Deployer 256
8.5.3 WebLogic控制台部署 257
8.6本章回顾 257
第9章 开发和部署Web服务 259
9.1总结Web服务标准 259
9.2用WebLogic Server创建Web服务 260
9.2.1 Web服务的容器框架 260
9.2.2开发WebLogic Server的Web服务 261
9.2.3开发Web服务客户端 274
9.3高级技术 278
9.3.1使用JAX-RPC 278
9.3.2理解style和use 278
9.3.3影响调用哪个操作 280
9.3.4创建更多动态的Web服务 282
9.3.5使用Web服务的处理程序 288
9.3.6使用SOAP附件 292
9.3.7实现有状态的Web服务 296
9.3.8实现异步的Web服务 297
9.3.9自定义Java和XML之间的映射 300
9.4使用Web服务安全 301
9.4.1定义安全策略 302
9.4.2传输级安全 303
9.4.3消息级安全 305
9.4.4 Web服务的安全配置 311
9.5在bigrez.com中添加Web服务 312
9.6本章回顾 314
第10章 使用WebLogic JMS 315
10.1 JMS的重要概念 315
10.1.1了解消息传递模型 315
10.1.2回顾JMS API 316
10.2 WebLogic JMS提供程序 321
10.2.1了解WebLogic JMS服务器 321
10.2.2群集WebLogic JMS 321
10.2.3 WebLogic JMS的客户端 330
10.2.4配置WebLogic JMS 332
10.3 WebLogic JMS应用程序设计 44
10.3.1选择一种目标类型 344
10.3.2定位目标 344
10.3.3选择合适的消息类型 345
10.3.4压缩大消息 347
10.3.5选择一种消息确认策略 347
10.3.6设计消息选择器 348
10.3.7选择消息的过期策略 351
10.3.8处理有害消息 353
10.3.9处理消息顺序的问题 355
10.3.10使用事务 360
10.3.11使用多播会话 361
10.3.12处理请求/响应样式的消息交换 362
10.4 WebLogic JMS应用程序编程 365
10.4.1 WebLogic JMS与EJB和servlet的组合使用 365
10.4.2在服务器中使用异步消息 367
10.5外部JMS提供程序 372
10.5.1了解消息传递桥 372
10.5.2了解存储转发服务 373
10.5.3使用消息驱动的bean 375
10.5.4把外部JMS对象映射到WebLogic JNDI上 375
10.5.5集成Oracle高级队列 376
10.5.6选择一种集成策略 378
10.6本章回顾 379
第11章 使用WebLogic安全性 381
11.1 WebLogic安全概述 381
11.2 WebLogic安全框架 387
11.2.1嵌入式LDAP服务器 387
11.2.2安全领域和提供程序 389
11.3使用外部安全存储 400
11.3.1管理外部LDAP身份验证 400
11.3.2管理RDBMS身份验证 402
11.4设置SSL/TLS 404
11.4.1 SSL和X.509证书概述 404
11.4.2获取X.509证书 405
11.4.3配置单向SSL 407
11.4.4配置双向SSL 408
11.4.5调试SSL的问题 411
11.5编写安全敏感的Java客户端 412
11.5.1编写使用JAAS的Java客户端 412
11.5.2编写使用SSL的Java客户端 415
11.6管理应用程序的安全 420
11.6.1应用程序安全模型 420
11.6.2配置Java EE应用程序的安全 420
11.6.3配置WebLogic Server应用程序的安全 428
11.6.4启动WebLogic Serve 432
11.7单点登录 432
11.7.1 SAML语言 433
11.7.2配置跨域安全和单点登录 440
11.7.3自定义身份验证提供程序 445
11.8本章回顾 446
第12章在WebLogic Server中管理和部署应用程序 447
12.1 WebLogic体系结构的重要概念 447
12.1.1域体系结构 447
12.1.2 WebLogic Server体系结构 449
12.1.3 WebLogic Server群集体系结构 456
12.1.4管理服务器 463
12.1.5节点管理器 465
12.2 WebLogic Server管理的重要概念 466
12.2.1服务器状态 466
12.2.2服务器自我健康监控 467
12.2.3网络信道 468
12.3配置WebLogic Server的域 470
12.3.1建立一个新域 472
12.3.2配置服务器 473
12.3.3配置群集 475
12.3.4配置网络信道 478
12.3.5建立节点管理器 481
12.3.6操作系统的配置 486
12.3.7 Java虚拟机的配置 487
12.3.8 Web服务器插件的配置 487
12.3.9管理端口和信道的配置 492
12.3.10为WebLogic Server配置应用程序 494
12.4监视WebLogic Server应用程序 511
12.4.1使用WebLogic脚本工具 511
12.4.2使用弃用的命令行管理工具 515
12.4.3通过WebLogic控制台进行监视 516
12.4.4通过JMX实现编程监视 518
12.4.5通过SNMP监视 522
12.5管理WebLogic Server应用程序 529
12.5.1诊断应用程序的问题 529
12.5.2版本化应用程序 540
12.5.3处理故障情况 542
12.6本章回顾 551
第13章 优化WebLogic Server的性能 553
13.1系统性能概述 553
13.1.1核心原则 554
13.1.2基于WebLogic Server的应用程序的调优 555
13.2性能最佳实践 573
13.2.1可提高性能的设计方法 573
13.2.2理解Web容器的最佳实践 574
13.2.3理解EJB容器的最佳实践 576
13.2.4应用数据库访问的最佳实践 578
13.3诊断性能问题 583
13.3.1准备好故障诊断 583
13.3.2识别瓶颈并消除瓶颈 584
13.3.3解决问题 585
13.3.4常见应用服务器性能问题 586
13.3.5 Java栈跟踪 588
13.4本章回顾 593
第14章 开发环境的最佳实践 595
14.1定义需要的硬件和软件 595
14.2安装WebLogic Server软件 598
14.3开发项目结构 600
14.4优化开发周期 601
14.4.1分解目录开发 601
14.4.2 FastSwap 603
14.5建立构建过程 604
14.5.1持续集成 605
14.5.2代码检查和报告工具 606
14.6集成开发环境 606
14.6.1先决条件 607
14.6.2为bigrez.com配置Eclipse 607
14.6.3为bigrez.com配置JDeveloper 612
14.6.4通过IDE进行调试 615
14.7创建一个单元测试基础设施 616
14.7.1单元测试的重要性 616
14.7.2 JUnit测试框架 617
14.7.3容器外测试 619
14.7.4测试Web界面 622
14.7.5 Web服务 624
14.7.6性能和并发性测试 624
14.8本章回顾 625
第15章 生产环境的最佳实践 627
15.1部署策略 627
15.1.1评价部署策略 628
15.1.2服务器部署策略 629
15.1.3单站点部署策略 630
15.1.4多站点部署策略 635
15.1.5设计多站点WebLogic群集 635
15.1.6实现跨多站点的群集 638
15.1.7在每一个站点实现一个群集 639
15.2全局和本地流量管理 642
15.2.1使用负载均衡器 642
15.2.2配合WebLogic Server使用本地负载均衡器 643
15.2.3配合WebLogic Server使用全局负载均衡器 644
15.3生产环境的安全策略 645
15.3.1理解应用程序的数据流 645
15.3.2理解防火墙布局 645
15.3.3使用连接过滤器 647
15.3.4锁定Web应用程序 648
15.3.5检查其他安全因素 650
15.3.6使用SSL硬件加速 651
15.4本章回顾 651