目录译者序原序前言关于作者第一部分 WebLogic Server入门第1章 WebLogic Server简介 1
1.1 需要WebLogic Server 1
1.2.1 J2EE规范 2
1.2 WebLogic Server的简要概述 2
1.2.2 WebLogic Server框架 3
1.2.3 WebLogic Server引擎 4
1.4.1 BEA WebLogic Portal 5
1.4 BEA的产品系列 5
1.3 WebLogic Server如何适用于组织 5
1.5.2 新的安全模型 6
1.5.1 对Web服务的支持 6
1.4.2 BEA WebLogic Integration 6
1.4.3 BEA WebLogicJRockit 6
1.4.4 BEA WebLogic Workshop 6
1.5 WebLogic Server 8.1的新特性 6
1.5.5 管理增强 7
1.5.4 性能增强 7
1.5.3 开发工具 7
1.6 小结 8
1.5.6 对J2EE规范的扩展 8
2.1.1 系统需求 9
2.1 Windows平台下的安装 9
第2章 安装WebLogic Server 9
2.1.2 运行platform8xx_win32.exe——图形模式 10
2.1.3 运行WebLogic8xx_win32.exe——命令行模式 19
2.2.1 系统需求 20
2.2 Unix平台下的安装 20
2.3 安装WebLogic Platform许可证 21
2.2.3 Unix平台下的安装——控制台模式 21
2.2.2 Unix平台下安装——图形模式 21
2.6 安装WebLogic 8 Service Pack 22
2.5 加密许可 22
2.4 更新WebLogic 8许可证 22
2.7.1 启动WebLogic 8的管理服务器 23
2.7 启动和停止WebLogic Server 8 23
2.7.2 启动WebLogic 8托管服务器 25
2.7.4 WebLogic Server 8的正常停止 26
2.7.3 成功启动的消息 26
2.8 创建自己的启动脚本 27
2.7.5 WebLogic Server 8的不正常停止 27
2.10 小结 28
2.9 排除故障 28
3.1.2 硬件支持 29
3.1.1 硬件和软件可扩展性设计 29
第3章 开发WebLogic应用程序的技术 29
3.1 软件和硬件管理 29
3.2.2 JSP和servlet 30
3.2.1 Java架构师 30
3.1.3 操作系统维护 30
3.1.4 WebLogic Server管理 30
3.1.5 安全专家 30
3.1.6 备份和存档支持 30
3.2 Java技术 30
3.2.4 超越基础 31
3.2.3 JDBC和SQL 31
3.3.3 GUI设计 32
3.3.2 JavaScript 32
3.2.5 applet 32
3.2.6 Swing组件 32
3.3 可视化表示技术 32
3.3.1 HTML开发 32
3.6 测试和质量保证 33
3.5 与遗留系统的连接 33
3.3.4 图形艺术 33
3.4 数据库技术 33
3.4.1 数据库设计 33
3.4.2 数据库开发 33
3.4.3 数据库管理 33
3.8.2 实现阶段 34
3.8.1 设计阶段 34
3.7 客户支持专家 34
3.8 软件开发阶段 34
3.9 小结 35
3.8.4 维护阶段 35
3.8.3 管理阶段 35
4.1.1 Java编译器 36
4.1 在开发环境中运行WebLogic Server8.1 36
第4章 开发WebLogic应用程序的硬件和配置 36
4.1.2 软件开发 37
4.2.2 建模工具 38
4.2.1 版本控制软件 38
4.1.3 Web浏览器 38
4.2 其他有用的软件 38
4.2.3 测试软件 39
4.2.5 性能测试工具 40
4.2.4 每晚或每周编译 40
4.4 团队开发 41
4.3 打包和部署软件 41
4.5 小结 42
5.1 了解N层应用程序 43
第5章 用WebLogicServer设计企业应用程序 43
5.2.1 分层体系结构的支持 44
5.2 J2EE平台 44
5.2.2 组件模型体系结构 45
5.2.3 基础结构和服务 47
5.2.4 WebLogic Server和J2EE 48
5.2.5 设计J2EE应用程序 49
5.3.1 UML图——概述 51
5.3 建模技术——UML 51
5.3.3 类图 52
5.3.2 用例图 52
5.3.5 顺序图 53
5.3.4 包图 53
5.3.7 活动图 54
5.3.6 协作图 54
5.3.8 部署图 55
5.5 开发方法学 56
5.4.2 应用MVC 56
5.4 设计策略——“模型-视图-控制器”模式 56
5.4.1 MVC结构 56
5.5.1 极限编程——核心准则 57
5.6 小结 58
5.5.2 Rational Unified Process 58
6.1 Web应用程序的定义 59
第二部分 WebLogic Server Web应用程序第6章 WebLogic Web应用程序入门 59
6.1.1 Web容器 60
6.1.3 Web应用程序配置 61
6.1.2 Web应用程序组件 61
6.2 Web应用程序和请求-响应模型 62
6.3 创建一个Web应用程序 63
6.3.1 开发生命周期 64
6.3.3 配置Web应用程序 65
6.3.2 开发策略 65
6.4 小结 68
7.1.1 打包Web应用程序 69
7.1 应用程序打包和预部署 69
第7章 部署Web应用程序 69
7.1.2 打包企业应用程序 72
7.1.4 部署描述符的安全元素 74
7.1.3 创建和编辑应用程序部署描述符 74
7.2.1 自动部署 76
7.2 部署应用程序的方法 76
7.2.2 使用WebLogic Server管理控制台部署应用程序 77
7.2.3 使用weblogic.Deployer工具来部署应用程序 78
7.2.4 使用WebLogic Builder部署应用程序 80
7.2.5 使用Ant工具部署应用程序 81
7.2.6 手工修改config.xml文件来部署应用程序 82
7.4.4 分段模式 83
7.4.3 开发 83
7.3 WebLogic Server的部署问题 83
7.4 部署的最佳实践 83
7.4.1 存档的应用程序与展开的应用程序 83
7.4.2 展开的应用程序 83
7.5 小结 84
8.1 命名服务 85
第三部分 在WebLogic应用程序中使用J2EE技术第8章 使用JNDI的命名和目录服务 85
8.2.1 JNDI体系结构概述 86
8.2 Java命名和目录接口 86
8.2.2 JNDI 1.2.1规范概述 87
8.3.1 建立到WebLogic Server的InitialContext 88
8.3 JNDI和WebLogic Server 88
8.3.2 查询WebLogic JNDI树 91
8.3.3 更新WebLogic JNDI树 92
8.3.5 从WebLogic控制台中浏览JNDI树 93
8.3.4 关闭上下文 93
8.3.7 JNDI和WebLogic群集 94
8.3.6 私有JNDI树 94
8.4.2 优化远程客户机的查询 95
8.4.1 避免在JNDI树中存储应用程序数据 95
8.4 JNDI最佳实践 95
8.5 小结 96
8.4.4 尽量避免非复制绑定 96
8.4.3 考虑使用服务定位器模式 96
9.1.1 ACID事务 97
9.1 事务概述 97
第9章 用JTA处理事务 97
9.1.3 全局事务参与者 98
9.1.2 本地事务与全局事务 98
9.1.6 Java事务服务 99
9.1.5 如何让所有参与者共同工作以管理事务 99
9.1.4 两阶段提交协议 99
9.2.4 TRANSACTION_READ_UNCOMMITTED 100
9.2.3 幻读 100
9.2 事务隔离级别 100
9.2.1 脏读 100
9.2.2 不可重复读 100
9.3 WebLogic Server如何执行事务 101
9.2.8 TRANSACTION_NONE 101
9.2.5 TRANSACTION_READ_COMMITTED 101
9.2.6 TRANSACTION REPEATABLE READ 101
9.2.7 TRANSACTION_SERIALIZABLE 101
9.5.1 UserTransaction接口 102
9.5 JTA和WebLogic 102
9.4 事务作用域 102
9.6.1 Status接口 103
9.6 其他JTA接口 103
9.5.2 TransactionManager接口 103
9.5.3 Transaction接口 103
9.8.1 声明性事务模型 104
9.8 配置容器管理的企业组件 104
9.6.2 Synchronization接口 104
9.6.3 XAResource接口 104
9.6.4 Xid接口 104
9.7 WebLogic对JTA的扩展 104
9.7.1 WebLogic TransactionManager接口 104
9.7.2 WebLogic Transaction接口 104
9.7.3 WebLogic TxHelper类 104
9.7.4 WebLogic XAResource接口 104
9.8.2 容器管理的事务属性 105
9.9.1 事务配置 106
9.9 管理控制台中的JTA属性 106
9.9.2 事务监视 107
9.9.3 事务日志 108
9.10.2 指定默认事务属性 109
9.10.1 指定事务类型 109
9.10 使用JTA的全球拍卖 109
9.12 小结 110
9.11 选择事务属性的最佳实践 110
10.1 JDBC体系结构 111
第10章 用JDBC管理数据库连接 111
10.1.2 WebLogic Server提供的JDBC驱动程序 113
10.1.1 应该使用哪种类型的驱动程序 113
10.2 PointBase数据库服务器 114
10.2.3 启动PointBase控制台 115
10.2.2 启动PointBase服务器 115
10.2.1 查看WebLogic安装中的PointBase组件 115
10.2.6 案例分析:XYZ糖果 116
10.2.5 PointBase数据库驱动程序 116
10.2.4 使用PointBase控制台 116
10.3.1 连接到数据库 117
10.3 基本JDBC功能 117
10.3.3 处理查询的结果 119
10.3.2 在数据库中执行SQL语句 119
10.3.4 使用PreparedStatement更快地执行SQL 121
10.3.5 事务 122
10.3.6 SQL错误处理 124
10.4.1 JDBC扩展包 125
10.4 高级JDBC功能 125
10.4.2 高级ResultSet 132
10.4.3 RowSet 135
10.4.4 执行存储过程 138
10.4.5 批更新 139
10.4.6 语句缓存 140
10.4.7 SQL3数据类型支持 141
10.5.1 调整连接池 142
10.5 WebLogic JDBC——监视和调整 142
10.5.3 控制连接池 144
10.5.2 监视连接池 144
10.5.4 用命令行验证数据库连接 145
10.6.7 使用适当的Statement对象 146
10.6.6 使用连接池 146
10.6 JDBC——最佳实践 146
10.6.1 使用聪明的查询 146
10.6.2 将数据库更新结合到事务中 146
10.6.3 不要使用跨用户输入的事务 146
10.6.4 设计应用程序进行并行数据处理 146
10.6.5 选择一个最优的隔离级别 146
10.8 小结 147
10.7 JDBC和全球拍卖管理系统 147
10.6.8 使用批处理 147
10.6.9 使用数据缓存 147
10.6.10 尽可能使用合适的更新 147
10.6.11 释放JDBC资源 147
10.6.12 使用完后释放连接 147
11.1 RMI介绍 148
第11章 用RMI创建分布式应用程序 148
11.3 RMI编译器 150
11.2 什么时候使用RMI 150
11.4.2 实现远程接口 151
11.4.1 编写远程接口 151
11.4 编写RMI代码 151
11.4.5 编写RMI客户机 154
11.4.4 运行weblogic.rmic编译器 154
11.4.3 编译接口和实现 154
11.5.1 可伸缩性 155
11.5 性能问题 155
11.7.1 WebLogic实现的RMI API 156
11.7 WebLogic RMI API 156
11.5.2 线程/套接字管理 156
11.5.3 序列化 156
11.5.4 支持服务 156
11.5.5 分布式垃圾收集 156
11.6 WebLogic RMI注册表 156
11.7.5 在WebLogic RMI中传递参数 157
11.7.4 其他有用的WebLogic Server类 157
11.7.2 WebLogic RMI安全类 157
11.7.3 WebLogic RMI注册表类 157
11.9 小结 158
11.8 WebLogic RMI最佳实践 158
12.1.1 消息服务区域 159
12.1 企业消息传递简介 159
第12章 使用JMS的企业消息传递 159
12.1.3 发布-订阅消息 160
12.1.2 点到点消息传递 160
12.2 JMS简介 162
12.1.5 MOM 162
12.1.4 消息过滤、同步和质量 162
12.3.1 JMS连接 163
12.3 JMS核心体系结构 163
12.3.2 JMS会话 165
12.3.3 JMS会话池 166
12.3.5 JMS一般消息 167
12.3.4 JMS事务连接和会话 167
12.3.6 JMS专用消息 169
12.3.7 消息生产者、消费者和选择器 171
12.4 JMS点到点队列模型 173
12.4.1 点到点消息队列示例源代码 174
12.4.2 WebLogic JMS Server配置 181
12.4.3 WebLogic JMS连接工厂配置 184
12.4.4 WebLogic JMS队列配置 185
12.5 JMS发布-订阅模型 187
12.4.5 执行JMS队列示例 187
12.5.1 发布-订阅示例源代码 189
12.5.2 WebLogic JMS主题配置 193
12.6 JMS统一消息域模型 195
12.5.3 执行JMS主题示例 195
12.7.1 JMS持久性存储 198
12.7 高级WebLogic JMS配置 198
12.7.2 目标键(Destination Key) 200
12.7.4 JMS模板 202
12.7.3 外部JMS服务器 202
12.8 企业消息的最佳实践 206
12.9 小结 207
13.1 电子邮件协议 208
第13章 用JavaMail处理邮件服务 208
13.2.1 升级JavaMail API版本 209
13.2 扩展JavaMail API的能力 209
13.3 JavaBeans Activation Framework 210
13.2.3 安装第三方扩展 210
13.2.2 安装Sun POP3扩展 210
13.5.1 用Mail Session配置WebLogic Server 211
13.5 JavaMail和WebLogic Server 211
13.4 JavaMail API的核心类 211
13.5.2 Mail Session属性 214
13.6.1 发送消息 215
13.6 创建电子邮件组件 215
13.6.2 获取消息 220
13.6.3 用户验证 223
13.6.4 回复消息 224
13.6.5 转发消息 225
13.6.6 使用附件 226
13.7 JavaMail和全球拍卖应用程序 227
13.8 小结 229
14.1 Servlet 2.3规范 231
第四部分 在WebLogic应用程序中使用Web技术第14章 编写WebLogic Server servlet 231
14.2 servlet与其他的方法 232
14.3.2 初始化 233
14.3.1 配置、加载和实例化 233
14.3 servlet生命周期 233
14.3.3 处理 234
14.3.4 卸载servlet 235
14.4 编写简单的servlet 236
14.5.1 作为MVC控制器 239
14.5 什么时候使用servlet 239
14.6.3 ServletConfig接口 240
14.6.2 Servlet接口 240
14.5.2 作为会话跟踪器 240
14.6 Servlet API 240
14.6.1 包结构 240
14.6.4 ServletContext接口 241
14.6.8 HTTP Servlet API 243
14.6.7 Servlet 2.3中的其他接口 243
14.6.5 ServletRequest接口 243
14.6.6 ServletResponse接口 243
14.6.10 servlet异常 247
14.6.9 HttpServletResponse 247
14.7 servlet线程模型 248
14.8.1 HTTP Servlet主干 249
14.8 使用Servlet API 249
14.8.2 使用doGet()和doPost() 250
14.8.3 处理请求和响应 252
14.9 分派到其他资源 256
14.10.1 通用servlet 258
14.10 高级Servlet编程 258
14.10.3 请求和响应包装器 260
14.10.2 请求和响应流 260
14.10.4 处理会话 261
14.10.5 过滤器 273
14.11 实现servlet的最佳实践 278
14.12 小结 279
15.2 WebLogic Server如何使用servlet 280
15.1 介绍JSP 280
第15章 编写WebLogic Server JSP 280
15.4.1 指令 286
15.4 JSP语法 286
15.3 什么时候使用JSP 286
15.4.2 脚本元素 288
15.4.3 操作 291
15.5 JSP隐含对象 294
15.6 示例JSP页 295
15.7 配置和部署WebLogic JSP 298
15.9 小结 303
15.8 JSP最佳实践 303
16.1.1 视图层实现 304
16.1 MVC体系结构 304
第16章 JavaBean和模型-视图-控制器(MVC)体系结构 304
16.2 JavaBean介绍 305
16.1.3 模型层实现 305
16.1.2 控制器层实现 305
16.4.2 控制器层设计模式 311
16.4.1 表示层设计模式 311
16.3 如何将JavaBean结合到servlet-JSP工作流中 311
16.4 MVC最佳实践 311
16.5 小结 312
16.4.3 模型层设计模式 312
17.2 JSP标签库语法 313
17.1 JSP标签库的使用 313
第17章 使用JSP标签库 313
17.3.1 WebLogic自定义标签 314
17.3 WebLogic Server提供的标签库 314
17.3.2 WebLogic验证标签 315
17.3.4 使用WebLogic验证标签库的例子 316
17.3.3 使用WebLogic Server标签库 316
17.4 WebLogic Server EJB to JSP集成工具 319
17.4.1 生成EJB的JSP标签库 320
17.4.2 在JSP页中使用EJB标签 322
17.6 JSP标签库的更多资源 323
17.5 使用标签库的最佳实践 323
17.7 小结 324
18.2 构建JSP标签所需步骤概述 325
18.1 应当什么时候创建JSP标签库 325
第18章 创建JSP标签库 325
18.3 标签处理程序生命周期 327
18.5 创建一个简单的标签 329
18.4 常用JSP标签类和接口 329
18.6 创建带标签体的标签 332
18.7 使用自定义标签定义脚本变量 335
18.8 创建标签库的最佳实践 337
18.9 小结 338
19.1 安装Struts 339
第19章 使用Struts 339
19.2 Struts体系结构简介 340
19.3 配置Struts 341
19.4 struts-config.xml文件 342
19.4.1 〈action-mappings〉 343
19.5.1 操作类 344
19.5 使用Struts框架的后端编程 344
19.4.2 〈forward〉 344
19.4.3 〈data-sources〉 344
19.5.3 使用ActionForm类 345
19.5.2 使用ActionMapping类 345
19.5.4 编写Struts错误 346
19.5.5 数据库连接性 347
19.6.1 在Struts中显示文字 348
19.6 使用Struts框架的前端编程 348
19.6.3 使用Struts表单 349
19.6.2 显示错误 349
19.6.4 Struts逻辑标签 351
19.6.5 整合到一起 352
19.7 Struts示例应用程序 353
19.8 小结 354
20.1 EJB体系结构——概述 355
第五部分 在WebLogic应用程序中使用EJB第20章 EJB和WebLogic Server 355
20.2.1 容器的定义 358
20.2 EJB容器 358
20.2.2 生命周期管理 360
20.2.3 基本服务 362
20.3.1 bean类 365
20.3 EJB实现 365
20.3.2 远程接口 366
20.3.3 Home接口 367
20.3.4 本地接口和本地Home接口 368
20.4 EJB部署描述符 369
20.3.7 EJB命名规范 369
20.3.5 主键 369
20.3.6 EJB异常 369
20.4.1 J2EE描述符——ejb-j ar.xml 370
20.4.2 特定于WebLogic的描述符 372
20.5.1 EJBGen 373
20.5 EJB部署 373
20.4.3 创建部署描述符 373
20.5.3 WebLogic Builder工具 374
20.5.2 打包EJB 374
20.5.4 用控制台部署 377
20.5.5 使用weblogic Deployer实用工具 378
20.6.1 EJB安全性 379
20.6 其他EJB功能 379
20.6.2 EJB环境项 382
20.6.3 EJB和资源引用 383
20.7 小结 387
20.6.5 实体关系 387
20.6.4 EJB-QL 387
21.1 组合会话bean 388
第21章 使用会话bean 388
21.2 案例分析:XYZ航空在线预订系统 389
21.3.1 远程接口 390
21.3 使用无状态会话bean 390
21.3.2 了解异常 391
21.3.4 本地接口 392
21.3.3 远程Home接口 392
21.3.6 bean类 393
21.3.5 本地Home接口 393
21.3.8 部署描述符 395
21.3.7 开发AirlineReservation EJB 395
21.3.9 打包和部署bean 397
21.3.10 从客户机访问无状态会话bean 398
21.3.11 无状态会话bean的生命周期 399
21.4.1 远程接口 400
21.4 使用有状态会话bean 400
21.4.4 Bean类 402
21.4.3 本地接口和本地Home接口 402
21.4.2 远程Home接口 402
21.4.5 有状态会话bean的部署描述符 405
21.4.8 有状态会话bean的生命周期 407
21.4.7 从客户机访问有状态会话bean 407
21.4.6 部署有状态会话bean 407
21.5.1 群集无状态会话bean 408
21.5 会话bean和WebLogic Server群集 408
21.5.2 群集有状态会话bean 410
21.6.1 容器管理的事务 412
21.6 事务和会话bean 412
21.6.2 bean管理的事务 414
21.7.2 组件接口 415
21.7.1 默认会话bean类 415
21.7 最佳实践 415
21.7.6 容器管理的事务优先于bean管理的事务 416
21.7.5 仔细选择事务 416
21.7.3 避免有状态会话bean链 416
21.7.4 理解会话bean状态是非事务的 416
21.7.11 使用适当的设计模式 417
21.7.10 避免有状态会话钝化 417
21.7.7 避免事务跨越用户思考时间 417
21.7.8 理解Supports事务属性的含义 417
21.7.9 无状态bean优先于有状态bean 417
21.8 小结 418
21.7.13 避免使用非final静态变量 418
21.7.12 避免使用线程 418
22.1 什么是实体bean 419
第22章 使用实体bean 419
22.3 实体bean的生命周期 420
22.2 实体bean提供了什么 420
22.4.2 Home接口 421
22.4.1 主键 421
22.4 实体bean的类和接口 421
22.4.4 bean类 422
22.4.3 远程接口 422
22.4.7 主键类 423
22.4.6 本地接口 423
22.4.5 部署描述符 423
22.5.1 创建Home接口 424
22.5 创建BMP实体bean 424
22.4.8 值对象 424
22.5.2 创建值对象 425
22.5.3 创建远程接口 426
22.5.4 创建bean类 427
22.5.5 创建部署描述符 432
22.6.4 创建bean类 434
22.6.3 创建远程接口 434
22.5.6 BMP注释 434
22.6 创建CMP实体bean 434
22.6.1 创建Home接口 434
22.6.2 创建值对象 434
22.6.5 创建部署描述符 436
22.6.6 容器管理关系 438
22.7 EJB中的关系缓存 442
22.10 高级实体bean特性 443
22.9 WebLogic查询语言 443
22.8 实体bean中的缓存 443
22.12 WebLogic 8.1中被废弃的EJB特性 444
22.11 在WebLogic Server 8.1中用于EJB的工具 444
22.14 小结 445
22.13 实体bean最佳实践 445
23.1 何时使用消息驱动bean 446
第23章 使用消息驱动bean 446
23.2.2 消息驱动bean生命周期 447
23.2.1 消息驱动bean类 447
23.2 如何创建消息驱动bean 447
23.2.5 部署消息驱动bean 448
23.2.4 设置上下文 448
23.2.3 处理JMS消息 448
23.3 示例消息驱动bean 449
23.4 消息驱动bean最佳实践 455
23.5 小结 456
24.1 软件测试简介 457
第六部分 使用WebLogic Server应用程序第24章 测试和调试应用程序 457
24.2.2 一个简单的JUnit例子 458
24.2.1 安装和运行JUnit 458
24.2 尽早发现问题:单元测试 458
24.2.4 在WebLogic内部使用Cactus进行单元测试 461
24.2.3 在WebLogic中进行单元测试 461
24.2.5 一个使用Cactus的例子 462
24.2.6 Cactus的安装和运行 464
24.3 使用日志记录API收集信息 465
24.4.1 调试应用程序的准备工作 467
24.4 使用集成调试器调试WebLogic 467
24.4.2 调试JSP和EJB 468
24.5.3 调试最佳实践 469
24.5.2 日志记录最佳实践 469
24.5 最佳实践 469
24.5.1 单元测试最佳实践 469
24.6 小结 470
25.2 准备性能与负载测试 471
25.1 定义不同类型的性能测试 471
第25章 优化WebLogic Server应用程序 471
25.2.3 基准测试的有效性 472
25.2.2 决定何时进行测试 472
25.2.1 模拟用户行为并与业务人员打交道 472
25.3.4 分析 473
25.3.3 进行基准测试 473
25.3 如何进行性能测试 473
25.3.1 测量性能 473
25.3.2 定义目标 473
25.4 要调整的方面 474
25.3.6 解释结果 474
25.3.5 应用程序代码 474
25.4.1 操作系统 475
25.4.5 Java虚拟机选项 476
25.4.4 Java虚拟机的选择 476
25.4.2 CPU和RAM 476
25.4.3 网络性能 476
25.5 WebLogic Server调整 478
25.5.2 默认队列与执行线程 479
25.5.1 WebLogic Server性能补丁 479
25.5.3 处理溢出情况 480
25.5.4 另外的执行队列 481
25.5.6 自动检测低内存情况 482
25.5.5 缓冲区连接 482
25.5.8 选择速度更快的Java编译器 483
25.5.7 检测阻塞线程 483
25.5.11 使用WebLogic Server群集 484
25.5.10 日志文件大小 484
25.5.9 使用产品模式 484
25.6.2 缓存预备语句 485
25.6.1 连接池 485
25.6 数据库和SQL调整 485
25.6.9 灵活的SQL 486
25.6.8 在中间层中缓存数据 486
25.6.3 JDBC驱动程序类型 486
25.6.4 数据库模式设计 486
25.6.5 使用正确的索引 486
25.6.6 使用存储过程 486
25.6.7 减少往返次数 486
25.6.10 企业JavaBean调整 487
25.7.2 Grinder体系结构 488
25.7.1 负载测试工具Grinder 488
25.7 一个性能测试与调整的例子 488
25.7.4 指定GAMS的性能目标 490
25.7.3 GAMS基准测试环境 490
25.7.6 创建用户脚本 491
25.7.5 了解用户行为 491
25.7.7 初始化环境 492
25.7.8 注册用户 498
25.8 最佳实践 502
25.8.4 EJB调整 503
25.8.3 JRockit 8.1内存管理 503
25.8.1 总体考虑 503
25.8.2 性能测试计划 503
25.9 小结 504
25.8.5 一般的Java编码技巧 504
26.1 Web应用程序安全问题概述 505
第七部分 WebLogic Server安全第26章 Web应用程序与安全性 505
26.2.2 当今系统的复杂性 506
26.2.1 破解者的能力 506
26.2 影响安全的趋势 506
26.2.3 病毒的泛滥 507
26.3.2 路由器 508
26.3.1 DNS服务器 508
26.2.4 蠕虫的力量 508
26.2.5 其他破解技术 508
26.3 易受攻击的区域 508
26.4.1 网络攻击 509
26.4 攻击 509
26.3.3 主机和应用程序 509
26.3.4 现场事务 509
26.4.5 中间人攻击 510
26.4.4 包嗅探器 510
26.4.2 分布式网络攻击 510
26.4.3 企业攻击 510
26.5.1 加密 511
26.5 应对安全风险的技术 511
26.5.2 身份验证、数据完整性、不可否认与数字签名 512
26.5.6 反病毒软件 513
26.5.5 公钥基础结构 513
26.5.3 证书颁发机构 513
26.5.4 安全套接字层(SSL) 513
26.5.7 个人防火墙软件 514
26.6.1 建立公司的安全策略 515
26.6 应对安全风险的最佳实践 515
26.5.8 反嗅探器工具 515
26.6.4 使用复杂密码并保证密码安全 516
26.6.3 及时修正安全隐患 516
26.6.2 保证计算机的物理安全 516
26.7 小结 517
26.6.7 看一看日志文件和事件日志 517
26.6.5 加密通信和使用证书 517
26.6.6 简化基础结构 517
27.2 J2EE安全模型 518
27.1 J2SE安全模型 518
第27章 WebLogic Server如何实现安全 518
27.2.3 角色 519
27.2.2 组 519
27.2.1 用户 519
27.2.6 身份验证 520
27.2.5 Web应用程序部署描述符 520
27.2.4 受限制的资源 520
27.2.7 如何指定验证方法 522
27.2.8 如何指定安全性 524
27.3 WebLogic Server中安全是如何工作的 530
27.3.1 WebLogic Server安全框架的目标 531
27.3.2 Java验证和授权服务 532
27.3.4 WebLogic Server安全区域 533
27.3.3 客体和主体 533
27.3.6 安全提供程序 534
27.3.5 安全角色 534
27.5 小结 537
27.4.2 区域适配器验证提供程序 537
27.3.7 关于安全提供程序和区域的规则 537
27.4 从WebLogic Server 6.x迁移 537
27.4.1 兼容性区域 537
28.1.3 定义用户 538
28.1.2 定义用户和组 538
第28章 保护WebLogic Server与WebLogic Server应用程序 538
28.1 保护WebLogic Server应用程序 538
28.1.1 选择区域 538
28.1.4 定义组 540
28.1.5 授予全局角色 544
28.1.6 授予局部角色 546
28.1.7 创建安全策略 547
28.1.9 使用外部LDAP服务器 548
28.1.8 轻量级目录访问协议 548
28.1.10 从以前的WebLogic Server版本迁移安全 549
28.1.12 选择默认区域 550
28.1.11v定制默认区域 550
28.3 JAAS简介 551
28.2 保护Java客户 551
28.3.2 回调处理程序 552
28.3.1 JAAS登录配置文件 552
28.3.6 PrivilegedAction与Privileged-ExceptionAction 555
28.3.5 调用login()方法 555
28.3.3 实例化LoginContext 555
28.3.4 UsernamePasswordLoginModule 555
28.3.7 执行代码 556
28.4.1 实现SecurityProvider 557
28.4 创建定制的安全提供程序 557
28.4.3 SampleAuthenticationProviderImpl 558
28.4.2 实现AuthenticationProvider 558
28.4.5 SampleLoginModuleImpl 560
28.4.4 实现LoginModule 560
28.4.8 运行定制的安全提供程序 561
28.4.7 建立定制的安全提供程序 561
28.4.6 MBean定义文件和WebLogic MBeanMaker 561
28.5 使用安全套接字层 562
28.4.9 从这里要到哪里 562
28.5.2 将SSL用于服务器验证 563
28.5.1 生成数字证书 563
28.7.1 设置用户锁定 564
28.7 最佳安全实践 564
28.5.3 SSL用于相互验证 564
28.6 建立域间信任关系 564
28.7.3 BEA Dev2Dev建议和通知 565
28.7.2 连接过滤 565
28.7.6 防止拒绝服务攻击 566
28.7.5 保护网络连接 566
28.7.4 保护WebLogic Server计算机和文件系统 566
28.7.7 启用审核 567
28.8 小结 568
28.7.8 其他安全建议 568
29.1 XML简介 569
第八部分 WebLogic Server企业应用程序集成第29章 WebLogic Server和XML技术 569
29.1.1 XML头 570
29.1.2 XML内容 571
29.2.2 元素 575
29.2.1 文档类型定义 575
29.2 定义XML文档 575
29.2.3 属性列表 576
29.2.4 XML模式 577
29.3 XML解析器 582
29.3.1 SAX 583
29.3.2 使用DOM解析XML 590
29.3.3 用于XML解析的Java API 592
29.4.1 解析XML文档 593
29.4 WebLogic Server XML Streaming API 593
29.4.2 生成新的XML文档 597
29.5.2 WebLogic Server XML注册表 598
29.5.1 WebLogic快速解析器 598
29.5 其他有用的XML特性 598
29.5.3 XPath模式匹配 602
29.5.4 StreamXPath 604
29.5.5 XML编辑器 605
29.6.1 XSL样式表 606
29.6 可扩展样式表语言 606
29.5.6 XMLBeans 606
29.7.1 自定义验证 611
29.7 使用XML的最佳实践 611
29.6.2 XML文件的转换 611
29.8 小结 612
29.7.6 XML设计 612
29.7.2 使用外部实体解析 612
29.7.3 使用JAXP 612
29.7.4 模式与DTD 612
29.7.5 考虑解析器的类型 612
30.2 Web服务的作用 613
30.1 什么是Web服务 613
第30章 WebLogic Server和Web服务 613
30.3 WebLogic对Web服务的支持 614
30.4.1 简单对象访问协议 615
30.4 Web服务技术 615
30.5 WebLogic Server的Web服务体系结构 616
30.4.3 通用描述、发现和集成 616
30.4.2 Web服务定义语言 616
30.7 使用Java代码生成Web服务 617
30.6.2 Java代码和Ant任务 617
30.6 在WebLogic中生成Web服务的工具 617
30.6.1 WebLogic WorkShop工具 617
30.7.3 打包Web服务 618
30.7.2 其他Web服务特征 618
30.7.1 选择并实现后端组件 618
30.7.4 使用Java类后端来构建Web服务 619
30.8 使用无状态会话bean后端生成Web服务 629
30.8.2 使用支持的数据类型生成操作 630
30.8.1 使用非简单数据类型 630
30.8.3 使用用户定义的数据类型 631
30.8.4 使用用户定义数据类型生成Web服务 633
30.9 使用SOAP消息处理程序 634
30.8.5 组装Web服务 634
30.11 使用UDDI目录探索器 635
30.10 保护Web服务 635
30.12.2 JWS文件和JSR 181 636
30.12.1 WebLogic WorkShop体系结构 636
30.12 使用WebLogic WorkShop生成Web服务 636
30.12.3 WebLogic WorkShop图形用户界面 637
30.12.4 使用WebLogic WorkShop生成Web服务 638
30.12.5 生成一个WebLogic WorkShop域 643
30.12.6 设置环境 644
30.12.7 配置域的WebLogic WorkShop 645
30.12.9 使用WebLogic WorkShop控件 646
30.12.8 生成新的WebLogic WorkShop应用程序 646
30.12.10 使用调试器 649
30.13 Web服务的最佳实践 650
30.12.11 其他WebLogic WorkShop特征 650
30.14 小结 651
30.13.5 更熟悉Web服务技术 651
30.13.1 调试标志 651
30.13.2 确保互操作性 651
30.13.3 故障代码 651
30.13.4 减少网络开销 651
第31章 遗留系统与J2EE体系结构的集成 652
31.2 WebLogic的Java连接器体系结构的定义 653
31.1 J2EE连接器体系结构和J2EE平台 653
31.3.2 对企业应用集成商的意义 654
31.3.1 什么是EIS 654
31.3 J2EE连接器体系结构和企业 654
31.3.4 面对J2EE连接器体系结构的挑战 655
31.3.3 B2B电子市场 655
31.4.2 系统级协定 656
31.4.1 资源适配器 656
31.4 使用Java连接器体系结构组件 656
31.4.4 BEA提供的J2EE-CA适配器客户示例 657
31.4.3 公共客户机接口 657
31.5.1 与安全有关的术语 658
31.5 安全考虑 658
31.4.5 可用的商业J2EE-CA适配器 658
31.5.4 登录机制 659
31.5.3 WebLogic身份验证机制 659
31.5.2 密码凭证映射机制 659
31.6.2 没有事务支持 660
31.6.1 事务支持 660
31.6 事务管理 660
31.6.4 XA事务支持 661
31.6.3 本地事务支持 661
31.7.2 配置资源适配器 662
31.7.1 资源适配器开发工具 662
31.7 配置WebLogic J2EE-CA 662
31.7.3 WebLogic的特殊配置 663
31.8.1 连接所需要的接口 664
31.8 编写资源适配器 664
31.8.2 事务管理协定 666
31.8.4 整合到一起 667
31.8.3 错误处理 667
31.9 打包和部署问题 669
31.9.2 部署资源适配器 670
31.9.1 打包资源适配器 670
31.10 J2EE连接器体系结构示例 671
31.10.1 设置JDBC示例 672
31.10.2 设置SAP示例 674
31.11 小结 676
32.1.1 远程函数调用 677
32.1 什么是JCo 677
第32章 在WebLogic Server中使用SAP的Java连接器 677
32.1.3 SAP数据字典 678
32.1.2 SAP的数据处理 678
32.3 SAP系统设置 679
32.2.3 JCo 2.0 679
32.2 安装JCo 679
32.2.1 下载JCo 679
32.2.2 JCo 1.1 679
32.4.2 SAP连接 680
32.4.1 import语句 680
32.4 在JCo中的客户机编程 680
32.4.3 建立SAP连接池 681
32.4.4 从属性文件装入参数 682
32.5.1 Java和SAP间的类型转换 683
32.5 调用SAP的函数 683
32.5.2 设置数据和获取数据 685
32.5.3 处理表 686
32.5.4 SAP中的事务 687
32.6 JCo中的异常处理 688
32.5.5 过滤SAP数据 688
32.6.3 ABAP异常 689
32.6.2 类型转换异常 689
32.6.1 JCo异常 689
32.6.4 使用JCo的Web应用程序示例 690
32.7.1 建立JCo服务器 691
32.7 用JCo进行服务器编程 691
32.7.2 建立存储库 692
32.7.3 建立JCO.Server对象 694
32.7.5 运行服务器应用程序 695
32.7.4 SAP RFC设置(SM59) 695
32.8 有用的BAPI和RFC 696
32.9 小结 697
33.1 了解jCOM 698
第33章 jCOM——WebLogic Server的Java/COM桥 698
33.2 jCOM的工作方式 699
33.3 判断jCOM是否适合应用程序 700
33.5 零客户机安装 701
33.4 决定正确的jCOM环境设置 701
33.6.1 DCOM模式 702
33.6 在DCOM、本机进程内和本机进程外模式之间选择 702
33.6.2 本机进程外模式 703
33.7 早绑定和迟绑定模型 704
33.6.3 本机进程内模式 704
33.7.2 迟绑定 705
33.7.1 早绑定 705
33.9 使用jCOM工具 706
33.8 保护Java对象免受未经授权的访问 706
33.9.2 通过java2com连接到Java 707
33.9.1 通过com2java连接到COM 707
33.9.3 用regjvm工具注册JVM 708
33.9.4 用regtlb工具注册类型库 709
33.10.1 建立JSP前端 710
33.10 银行账户示例——Java客户机访问COM组件 710
33.10.4 在服务器上安装COM组件 711
33.10.3 手工建立银行账户后端COM组件 711
33.10.2 建立后端账户COM组件 711
33.10.5 WebLogic Server设置 712
33.11.1 WebLogic Server设置 713
33.11 库存项目示例——COM客户访问EJB 713
33.10.6 运行银行账户接口应用程序 713
33.11.2 Visual Basic客户通过迟绑定访问库存项目 714
33.11.3 Visual Basic客户通过早绑定访问库存项目 715
33.12 事件处理 717
33.11.4 建立VB客户 717
33.14 小结 718
33.13 处理数据类型 718
34.1.1 WTC和JOLT 719
34.1 WebLogic的Tuxedo连接器 719
第34章 CORBA和Tuxedo集成 719
34.1.2 JATMI编程 720
34.1.3 WTC服务EJB 732
34.1.5 WTC和JMS 733
34.1.4 JATMI事务 733
34.1.6 WTC的安全 735
34.1.8 WTC和工作流处理 736
34.1.7 WTC和WebLogic群集 736
34.2.2 WebLogic RMI-IIOP 737
34.2.1 RMI over IIOP剖析 737
34.2 RMI over IIOP 737
34.2.3 编程模型对比:IDL与RMI 738
34.3 小结 740
35.1 WebLogic Server管理 741
第九部分 管理WebLogjc应用程序第35章 使用管理控制台管理应用程序 741
35.2 连接到管理控制台 742
35.3 管理控制台用户界面概览 743
35.4 配置控制台 745
35.5 配置应用服务器域 747
35.5.1 域的常规配置 748
35.5.3 域的SNMP配置 749
35.5.2 域的JTA配置 749
35.6.1 配置服务器 750
35.6 管理网络资源 750
35.5.4 域的日志记录配置 750
35.5.5 域的应用程序配置 750
35.6.2 配置群集 761
35.6.3 配置计算机 762
35.7 部署应用程序和模块 764
35.8 配置WebLogic和J2EE服务 765
35.8.1 配置jCOM服务 767
35.8.2 配置JDBC服务 768
35.8.3 配置JMS服务 771
35.8.4 配置消息传递桥服务 773
35.8.5 配置XML服务 774
35.8.6 配置JTA服务 774
35.8.7 配置SNMP服务 774
35.8.8 配置WTC服务 776
35.8.9 配置WLEC服务 777
35.8.10 配置Jolt服务 777
35.8.11 配置虚拟主机服务 777
35.8.12 配置Mail服务 777
35.9 管理安全域 777
35.10 配置域日志过滤器 778
35.11 监视管理任务 778
35.12 小结 778
36.1 介绍WebLogic Server群集 779
36.2 创建和配置物理群集环境 779
第36章 安装、配置和部署WebLogic Server群集 779
36.2.1 创建群集域 780
36.2.2 启动群集中的管理与托管服务器 784
36.2.3 使用HTTP代理访问群集 784
36.3.1 负载平衡算法 787
36.3.2 群集范围内的JNDI树 787
36.3 群集化应用程序和组件 787
36.3.3 HTTP会话状态复制 788
36.3.4 借助副本识别存根的EJB与RMI组件 791
36.3.5 群集化JDBC连接 791
36.3.6 HTTP会话与群集 792
36.3.7 群集化WebLogic JMS 792
36.4 对群集服务的故障转移支持 795
36.5.1 单层群集体系结构 796
36.5 群集最佳实践 796
36.5.2 多层群集架构 796
36.4.2 使用规则服务器心跳消息进行故障检测 796
36.4.1 在对等服务器实例之间使用IP套接字进行故障检测 796
36.5.3 代理群集体系结构 797
36.6 小结 797
37.1 JMX的定义以及使用它的原因 798
37.1.1 JMX的功能 798
第37章 使用JMX服务配置管理应用程序 798
37.1.2 JMX的结构 799
37.1.3 MBean模板 800
37.2 一个基本的MBean示例 800
37.3.2 WebLogic JMX扩展 813
37.3.1 WebLogic Server MBean 813
37.3.3 访问WebLogic Server MBean 813
37.3 WebLogic如何使用JMX 813
37.4 JMX通知模型和监视器 816
37.4.1 通知广播器 816
37.4.2 通知监听器 817
37.5 小结 821
38.1 管理命令 822
38.1.1 语法 822
第38章 通过命令行接口进行管理 822
38.1.2 服务器生命周期命令 823
38.1.4 JDBC连接池命令 824
38.1.5 MBean管理命令 824
38.1.3 服务器状态命令 824
38.2.1 HELP 825
38.2 命令示例与脚本 825
38.2.2 PING 825
38.2.3 LIST 825
38.1.7 群集命令 825
38.1.6 批处理命令 825
38.2.4 THREAD_DUMP 827
38.3 使用命令接口命令生成脚本 828
38.4 使用命令行接口的Ant 830
38.5 命令行接口管理的最佳实践 831
38.6 小结 832