J2EE服务器端高级编程

J2EE服务器端高级编程
作 者: (美)Subrahmanyam Allamaraju等著;闻道工作室译;闻道工作室译
出版社: 机械工业出版社
丛编项: Wrox程序员参考系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《J2EE服务器端高级编程》作者简介

内容简介

本书主要讲解了开发者如何使用J2EE体系结构为各事务组件编写关键逻辑。通过对Java servlet、JavaServer页面及EJB技术的理解,本书示例了如何设计和构建安全且可扩展的Java n层应用。内容包括:如何使用JSP页面分割事务和表示逻辑;如何使用EJB创建可扩展的应用;及如何使用CORBA、XML和Java Message Service与其他系统集成。本书需要读者对Java编程语言的知识及分布式开发基础比较熟悉,主要面向用J2EE开发分布式企业级应用的专业Java开发者。

图书目录

译者序

作者简介

前言

第1章 Java和J2EE平台 1

1.1 企业的今天 1

1.1.1 系统结构 2

1.1.2 答案是Java吗 5

1.2 J2EE平台 7

1.2.1 J2EE运行环境 7

1.2.2 J2EE API 8

1.3 J2EE体系结构—包容器 9

1.4 J2EE技术 14

1.4.1 组件技术 15

1.4.2 服务技术 16

1.4.3 通信技术 17

1.4.4 XML 18

1.5 部署J2EE应用程序 20

1.5.1 J2EE应用开发和部署中的角色 20

1.5.2 应用组件开发 21

1.5.3 把应用组件组合成模块 21

1.5.4 把模块组合成应用 21

1.5.5 应用部署 22

1.6 小结 22

第2章 采用RMI的分布式计算 23

2.1 RMI体系结构 24

2.1.1 Stub和Skeleton层 25

2.1.2 远程引用层 26

2.1.3 传输层 26

2.2 定位远程对象 27

2.3 RMI异常 30

2.4 用RMI开发应用程序 31

2.4.1 定义远程接口 31

2.4.2 实现远程接口 31

2.4.3 编写使用远程对象的客户程序 33

2.4.4 产生Stub和Skeleton 33

2.4.5 注册对象 33

2.4.6 运行客户程序和服务器 35

2.5 RMISecurityManager 35

2.6 在RMI中传递的参数 35

2.6.1 基本类型参数 36

2.6.2 对象类型参数 36

2.6.3 远程对象参数 36

2.7 分布式垃圾回收器 37

2.8 动态加载类 40

2.9 远程回调 44

2.10 对象激活 46

2.10.1 Activation Group 48

2.10.2 使对象为可激活的 50

2.10.3 激活 56

2.11 定制套接字和SSL 57

2.12 RMI. 防火墙和HTTP 68

2.12.1 HTTP隧道 69

2.12.2 SOCKS协议 70

2.12.3 可下载的套接字集合 70

2.13 IIOP上的RMI 70

2.13.1 与CORBA的互操作性 71

2.13.2 RMI-IIOP和Java IDL 72

2.13.3 用RMI-IIOP编写程序 72

2.13.4 RMI-IIOP和J2EE 76

2.14 小结 76

第3章 用JDBC进行数据库程序设计 78

3.1 数据库驱动器 79

3.1.1 类型1—JDBC-ODBC桥 79

3.1.2 类型2—部分采用Java, 另一部分

采用本地驱动器 80

3.1.3 类型3—中介数据库访问服务器 81

3.1.4 类型4—纯的Java驱动器 81

3.2 JDBC 2.1 Core API 83

3.2.1 加载数据库驱动器和打开连接 84

3.2.2 建立数据库连接 87

3.2.3 创建和执行SQL语句 88

3.2.4 用ResultSet接口来查询数据库 94

3.2.5 准备语句 96

3.2.6 把SQL类型映射到Java类型 98

3.2.7 事务支持 99

3.2.8 可滚动的和可更新的结果集 100

3.2.9 批量更新 106

3.3 JDBC 2.0 Optional Package API 106

3.4 JDBC数据源 107

3.4.1 javax.sql.DataSource接口 108

3.4.2 JNDI和数据源 109

3.4.3 修定后的Movie目录 112

3.5 连接池 112

3.5.1 传统的连接池 114

3.5.2 JDBC 2.0连接池 115

3.6 分布事务 118

3.6.1 什么是事务 118

3.6.2 简单背景知识 119

3.6.3 事务处理—概念 119

3.6.4 事务处理系统的构件模块 120

3.6.5 JDBC 2.0分布事务 121

3.6.6 实现分布事务的步骤 123

3.7 行集 125

3.7.1 javax.sql.RowSet接口 126

3.7.2 行集的类型 128

3.7.3 缓存的行集 128

3.7.4 JDBC行集 130

3.7.5 Web行集 130

3.8 小结 131

第4章 JNDI和LDAP 132

4.1 命名和目录服务 132

4.1.1 命名服务 132

4.1.2 目录服务 133

4.2 进入LDAP 134

4.2.1 访问控制 134

4.2.2 白页服务 135

4.2.3 分布式计算目录 136

4.2.4 LDAP数据 136

4.3 JNDI介绍 139

4.3.1 使用JNDI 141

4.3.2 JNDI服务提供者/JNDI驱动器 141

4.4 基本的LDAP操作 143

4.4.1 标准的LDAP操作 143

4.4.2 连接到LDAP服务器 143

4.4.3 认证或LDAP绑定 144

4.4.4 搜索一个LDAP服务器 146

4.4.5 对LDAP入口进行操作 154

4.5 在LDAP中存储和检索Java对象 161

4.5.1 传统的LDAP 161

4.5.2 串行化的Java对象 162

4.5.3 Java References 162

4.6 DSML 162

4.7 一个银行帐户JNDI应用程序 163

4.7.1 用RMI来使用LDAP 163

4.7.2 应用程序内容 164

4.7.3 JNDIRemoteBankInterface 165

4.7.4 JNDIRemoteBankServer 166

4.7.5 JNDIRemoteBankClient 168

4.7.6 Account类 169

4.7.7 运行应用程序 170

4.7.8 不采用注册表的RMI 171

4.7.9 创建一个对象目录 173

4.8 小结 173

第5章 XML基础 175

5.1 XML初步 175

5.1.1 XML和XML文档 175

5.1.2 XML处理器/分析器说明 178

5.1.3 为什么XML是强大的 178

5.1.4 XML的主要用途 179

5.1.5 Java和XML, J2EE中的XML 179

5.2 XML技术初步 181

5.2.1 标准化过程和W3C的角色 181

5.2.2 SGML和XML 182

5.2.3 DTD和XML Schema 183

5.2.4 XML风格 183

5.2.5 名字空间 184

5.3 形式良好的约束 184

5.3.1 属性引用 184

5.3.2 树结构 184

5.3.3 标记中显式的树结构 185

5.3.4 一个HTML/XHTML/XML例子 185

5.3.5 从HTML到XHTML 186

5.4 XML文档的逻辑结构 187

5.4.1 没有DTD的XML文档 187

5.4.2 具有DTD的XML文档 191

5.4.3 DTD和实体 195

5.4.4 阅读著名的DTD 196

5.5 DTD. 分析器和验证 197

5.5.1 分析器和DTD 197

5.5.2 XML Schema 197

5.5.3 DTD验证器 198

5.6 XML名字空间 199

5.6.1 主要思想——前缀和URI 200

5.6.2 重要的说明 200

5.6.3 名字空间声明的范围 201

5.6.4 缺省的名字空间 201

5.6.5 名字空间和属性名字 202

5.6.6 名字空间和DTD 203

5.7 用CSS风格化XML 203

5.7.1 CSS1例子和解释 203

5.7.2 选择子和声明 204

5.7.3 名字空间和CSS 206

5.8 用XSLT风格化XML 207

5.8.1 什么是XPath 207

5.8.2 试用XSLT 208

5.8.3 风格表单概貌 208

5.8.4 一个稍稍不同的改变 211

5.8.5 一点改进 212

5.9 未来的注目点 214

5.10 小结 214

第6章 用DOM和SAX进行XML分析 216

6.1 SAX. JAXP和一个简单的例子 218

6.1.1 SAX概述 218

6.1.2 JAXP的结构 219

6.1.3 一个简单的例子:计数元素 220

6.2 DOM和修改后的例子 222

6.2.1 节点类型 223

6.2.2 节点方法 223

6.2.3 用DOM计数元素 223

6.3 本章中的应用例子概述 225

6.3.1 实用类 225

6.3.2 PropDict类 225

6.3.3 Logger类 229

6.4 一个DOM应用程序 231

6.5 DOM进阶 242

6.5.1 DOM Level 1 242

6.5.2 XML. DOM和语言绑定 243

6.5.3 在XML 1.0规范中没有DOM特征 244

6.5.4 DOM绑定 245

6.6 SAX应用程序 249

6.6.1 SAX回顾 249

6.6.2 Sax2Writer 249

6.6.3 Dom2Sax 253

6.7 Java对象的SAX分析器和SAX筛选器 258

6.7.1 分析不是XML文本的对象 259

6.7.2 一个真实分析的例子 261

6.8 小结 264

第7章 Web包容器简介 265

7.1 HTTP协议 266

7.1.1 HTTP请求方法 266

7.1.2 HTTP应答 267

7.2 Web包容器和Web应用程序 267

7.2.1 Java Servlet 268

7.2.2 JSP 270

7.2.3 部署描述器 271

7.2.4 Web包容器的类型 272

7.3 第一个Web应用程序 273

7.3.1 准备Web包容器 273

7.3.2 创建HTML文件 274

7.3.3 创建servlet 274

7.3.4 编译源代码 275

7.3.5 编写部署描述器 275

7.3.6 测试这个应用程序 276

7.4 Web应用程序的组成 277

7.5 小结 282

第8章 servlet程序设计 283

8.1 Java Servlet API概貌 283

8.2 servlet实现 286

8.2.1 servlet接口 286

8.2.2 GenericServlet类 288

8.2.3 SingleThreadModal接口 288

8.2.4 HttpServlet类 289

8.3 servlet配置 291

8.3.1 ServletConfig接口 291

8.3.2 得到ServletConfig的引用 292

8.4 servlet异常 293

8.4.1 ServletException类 293

8.4.2 UnavailableException类 293

8.5 Servlet生命周期 294

8.6 servlet生命周期—FreakServlet 296

8.6.1 实例化 300

8.6.2 初始化 300

8.6.3 服务 301

8.6.4 消亡 303

8.7 用于请求和应答的API 304

8.7.1 ServletRequest接口 304

8.7.2 HttpServletRequest接口 306

8.7.3 ServletResponse接口 309

8.7.4 HttpServletResponse接口 311

8.8 servlet程序设计—技术支持应用程序 312

8.8.1 建立HTML页面 312

8.8.2 准备数据库 314

8.8.3 创建一个序列器 316

8.8.4 编写Servlet 316

8.8.5 编译源代码 319

8.8.6 部署描述器 319

8.8.7 运行技术支持应用程序的条件 320

8.8.8 数据库连接说明 322

8.9 小结 323

第9章 servlet会话. 上下文和协作 324

9.1 无状态和会话 325

9.2 用于会话跟踪的技术 326

9.2.1 URL重写 327

9.2.2 隐藏表单域 328

9.2.3 Cookie 328

9.3 采用Java Servlet API的会话跟踪 330

9.3.1 会话创建和跟踪 330

9.3.2 HttpSession接口 331

9.3.3 绑定和删除会话中的对象 341

9.3.4 使用会话的简单的购物车例子 342

9.4 servlet上下文 346

9.4.1 ServletContext接口 347

9.4.2 使用上下文和会话的聊天应用程序 349

9.5 servlet协作 363

9.5.1 servlet链 363

9.5.2 请求指派 364

9.5.3 修改后的技术支持应用程序 365

9.6 小结 376

第10章 Web部署. 认证和包装 377

10.1 Web应用程序的结构 377

10.1.1 目录结构 377

10.1.2 Web档案文件 379

10.2 把请求映射到应用程序和servlet上 380

10.3 Web应用程序的安全 384

10.3.1 程序安全 387

10.3.2 基于表单的认证 387

10.4 部署配置 390

10.4.1 上下文初始化参数 391

10.4.2 servlet初始化参数 392

10.4.3 在启动时加载servlet 392

10.4.4 会话超时 393

10.4.5 MIME映射 393

10.4.6 欢迎文件 394

10.4.7 错误页面 394

10.4.8 分布式应用程序 396

10.5 小结 397

第11章 JSP基础和体系结构 398

11.1 介绍JSP 398

11.2 内容和形式 402

11.2.1 JSP指令 403

11.2.2 脚本元素 407

11.2.3 标准动作 411

11.2.4 隐含的对象 425

11.2.5 范围 426

11.2.6 XML等价标记 428

11.3 JSP设计基础 429

11.3.1 以页面为中心或客户-服务器的

设计 429

11.3.2 Page-View 430

11.3.3 采用Bean的Page-View 430

11.4 “指派者”途径 431

11.4.1 Mediator-View 431

11.4.2 Mediator-Composite View 431

11.4.3 Service to Workers 432

11.5 JSP技术支持 433

11.5.1 应用程序设计 435

11.5.2 欢迎页面 435

11.5.3 处理请求的JSP 436

11.5.4 TechSupportBean 437

11.5.5 注册表单 439

11.5.6 Registration JSP 439

11.5.7 Response和Banner JSP 440

11.5.8 错误页面 441

11.5.9 部署应用程序 441

11.6 小结 442

第12章 JSP标记扩展 443

12.1 标记扩展101 443

12.2 标记扩展剖析 450

12.2.1 标记处理器 450

12.2.2 标记库描述器 457

12.2.3 在JSP页面中使用标记扩展 459

12.2.4 部署和包装标记库 459

12.3 编写标记扩展 462

12.3.1 处理属性 463

12.3.2 体内容 465

12.3.3 引入脚本变量的标记 466

12.3.4 体标记 470

12.3.5 标记嵌套 476

12.3.6 处理错误 481

12.4 标记扩展元语 481

12.5 小结 483

第13章 高级的定制JSP标记 484

13.1 一个XSL风格的标记 484

13.2 Swing模型标记 489

13.2.1 使用Swing ListModel 489

13.2.2 创建名字-值对的映射模型 492

13.2.3 使用Swing TableModel 496

13.3 分发 512

13.4 隐藏的细节内容 513

13.5 第三方的定制标记 516

13.5.1 流控制 516

13.5.2 J2EE技术 518

13.5.3 客户端验证 520

13.5.4 工具支持和未来的方向 521

13.6 小结 521

第14章 编写可维护的JSP页面 523

14.1 目标 523

14.2 在多层体系结构中的JSP 524

14.3 用于编写可维护的JSP的技术 526

14.3.1 请求控制器体系结构 526

14.3.2 在JSP中使用包含 530

14.3.3 使用JSP bean 531

14.3.4 使用标记扩展 534

14.3.5 处理迭代 536

14.3.6 处理条件逻辑 537

14.3.7 使用风格化的XML 538

14.3.8 什么时候为JSP使用定制的超类 539

14.3.9 公共对象的标准抽象 539

14.3.10 处理异常 540

14.3.11 国际化 540

14.4 文档化JSP层 541

14.5 工具支持 542

14.6 可维护的JSP的编码标准 543

14.6.1 设计原则和代码风格 543

14.6.2 格式化JSP页面 545

14.7 DBExplorer应用程序 547

14.7.1 需求 548

14.7.2 设计 550

14.7.3 实现 551

14.7.4 重新来看这个应用程序 583

14.7.5 部署应用程序 583

14.8 小结 585

第15章 JSP和XML—协同工作 586

15.1 JSP和XML 586

15.2 一个配置化的时事通信—一个实例

研究 587

15.2.1 澄清 588

15.2.2 主要的设计特点 588

15.2.3 主要的组件概述 588

15.2.4 试一试 590

15.3 配置组件 594

15.3.1 反射包 595

15.3.2 一个配置文件的例子 596

15.3.3 用于XML配置的Java代码 599

15.3.4 JSP和配置文件 609

15.4 数据库组件 609

15.4.1 DBConnector和它的缺省的实现 610

15.4.2 QueryHandler 611

15.4.3 ResultSetParser 617

15.4.4 UserDataHandler 621

15.5 XML数据访问组件 624

15.5.1 DomSearch查询 624

15.5.2 DomSearch输出 625

15.5.3 实例化DomSearch—DSNext-

Match 625

15.5.4 DomSearch的XML配置数据 626

15.5.5 在一个会话期间使用DomSearch 627

15.6 表示组件 627

15.6.1 注册页面 627

15.6.2 主帧页面和初始化 628

15.6.3 控制和数据帧 629

15.7 控制组件 634

15.7.1 StampPageFactory bean 634

15.7.2 StampPage Bean 638

15.8 对基本功能的扩充 640

15.9 小结 640

第16章 基于XML的JDBC Connector

Servlet框架 641

16.1 实现JDBC Connector Servlet 641

16.1.1 框架的功能需求 642

16.1.2 JCS体系结构 644

16.1.3 JCS脚本框架 645

16.1.4 实现JCS的Java类 650

16.1.5 其他的内容 674

16.1.6 包装J2EE部署的框架 676

16.1.7 把JCS部署到J2EE Servlet包容器中 678

16.2 使用JDBC Connector Servlet 679

16.2.1 Guestbook样本应用程序 679

16.2.2 SQL Server数据库浏览器应用程序 692

16.3 小结 697

第17章 JavaMail 699

17.1 建立指导 699

17.2 JavaMail API 701

17.2.1 javax.mail.Session 701

17.2.2 javax.mail.Authenticator和Password

Authentication 703

17.2.3 javax.mail.Message 704

17.2.4 javax.mail.Part 710

17.2.5 javax.mail.Multipart和BodyPart 714

17.2.6 javax.mail.internet.MimePart 714

17.2.7 javax.mail.internet.MimeMessage 716

17.2.8 javax.mail.internet.MimeMultipart和

MimeBodyPart 717

17.2.9 javax.mail.Service 718

17.2.10 javax.mail.Transport 719

17.2.11 javax.mail.Store 721

17.2.12 javax.mail.Folder 722

17.3 javax.mail.search.* 726

17.4 工作例子 727

17.5 小结 741

第18章 EJB体系结构与设计 742

18.1 什么是EJB 743

18.1.1 bean变体 744

18.1.2 在设计中使用EJB的原因 745

18.2 EJB包容器及其服务 746

18.3 EJB应用 751

18.3.1 客户端开发人员的观点 751

18.3.2 bean程序员的观点 754

18.3.3 EJB组件所禁止的操作 760

18.4 Web中的EJB组件 762

18.5 客户端层至EJB的访问 764

18.6 EJB层设计 765

18.6.1 UML use case 765

18.6.2 分析与实现 767

18.6.3 EJB设计示例 769

18.7 小结 776

第19章 会话bean与业务逻辑 777

19.1 会话bean与状态 777

19.1.1 业务逻辑表示 778

19.1.2 关于会话状态的难点问题 780

19.1.3 会话bean与持久化存储 782

19.2 财政资助计算器bean 782

19.2.1 无状态财政计算器bean 783

19.2.2 有状态财政计算器 bean 789

19.2.3 合并有状态与无状态bean 797

19.3 实现制造应用程序 801

19.3.1 客户端与业务逻辑接口 802

19.3.2 无状态会话bean的实现 815

19.3.3 有状态会话bean的实现 824

19.4 小结 831

第20章 实体bean与持久化 832

20.1 为什么不使用会话bean 832

20.1.1 有状态会话bean应用 832

20.1.2 无状态会话bean应用 835

20.1.3 实体bean的优点 837

20.2 包容器或者bean管理的持久化 838

20.2.1 SportBean实验室 839

20.2.2 完成运动队示例 859

20.3 关系 867

20.4 完成这里的制造应用程序 868

20.4.1 Order bean 868

20.4.2 Product bean 874

20.4.3 完成部署描述器 878

20.4.4 运行制造应用程序 880

20.5 小结 885

第21章 EJB包容器服务 887

21.1 事务 888

21.1.1 无包容器事务 889

21.1.2 事务的声明性语法 896

21.1.3 用户控制的事务 900

21.1.4 隔离级别 901

21.1.5 长事务 904

21.1.6 两阶段提交 905

21.2 安全性 906

21.2.1 确定安全性需求 907

21.2.2 编程性访问控制 910

21.2.3 安全性与应用程序设计 912

21.3 异常 913

21.3.1 应用程序异常 913

21.3.2 系统异常 916

21.4 通信 919

21.4.1 异构服务器之间的通信 919

21.4.2 In-VM方法调用 920

21.5 小结 921

第22章 开发与部署功能 922

22.1 企业级bean提供者 923

22.2 应用程序组装者 934

22.3 部署描述器 941

22.4 系统管理员 944

22.5 包容器/应用程序服务器开发商 946

22.6 制造应用程序的Web接口 947

22.7 关于解决问题的提示 969

22.8 小结 970

第23章 EJB 2.0 972

23.1 EJB 2.0的新特性 972

23.2 EJB 2.0的由包容器管理的持久化 973

23.2.1 cmp-field类型 976

23.2.2 cmr-field类型 977

23.2.3 完整的CMP 2.0部署描述器 983

23.2.4 编写CMP 2.0 bean 988

23.3 EJB 2.0查询语言 995

23.3.1 程序员在哪里指定查询 996

23.3.2 程序员如何指定查询 997

23.3.3 来自于制造应用程序的查询 1001

23.4 消息驱动的bean 1001

23.5 位于本地接口的业务方法 1004

23.6 小结 1011

第24章 J2EE应用程序设计考虑事项 1012

24.1 世事变迁 1012

24.2 设计环境 1013

24.3 体系结构与设计 1015

24.3.1 体系结构的类型 1016

24.3.2 强制. 模型和重复 1017

24.4 分布式设计 1019

24.5 从头开始 1020

24.6 增加中间层 1023

24.7 购物 1025

24.8 提交与处理订单 1027

24.9 已经学习过的内容 1030

24.9.1 将模式-视图-控制器应用于用户

接口 1030

24.9.2 JSP设计原则 1030

24.9.3 选择适当的数据格式 1030

24.9.4 减少数据传递量 1031

24.9.5 设计分布式接口 1031

24.9.6 用于同步操作的消息映射 1032

24.9.7 事务规划 1032

24.10 购物订单系统之外的问题 1032

24.10.1 EJB接口设计 1032

24.10.2 分布式事件 1033

24.10.3 处理数据库 1034

24.10.4 状态管理 1035

24.11 体系结构与进程 1036

24.12 小结 1037

第25章 性能与伸缩性 1038

25.1 妥协方案 1039

25.1.1 开发周期 1039

25.1.2 代理的优缺点 1040

25.2 可伸缩性的重要性 1042

25.3 性能 1043

25.3.1 编码问题 1044

25.3.2 性能测试与调试 1045

25.3.3 设计期间的问题 1047

25.4 伸缩性 1060

25.4.1 伸缩性与性能测试 1061

25.4.2 高伸缩性设计 1064

25.4.3 数据流与缓存 1070

25.4.4 由备份实现的伸缩性 1075

25.5 有效性能与伸缩性的项目规划 1077

25.6 小结 1078

第26章 调试Java服务器应用 1079

26.1 Java服务器端编程的不同之处 1079

26.1.1 Java语言 1079

26.1.2 应用运行于服务器 1080

26.1.3 运行过程时间长 1081

26.1.4 健壮性和稳定性 1083

26.1.5 多用户/多线程 1085

26.1.6 性能 1087

26.2 调试工具和技术 1088

26.3 小结 1101

第27章 单元测试J2EE应用 1103

27.1 单元测试的概念 1103

27.2 JUnit框架介绍 1105

27.3 使用JUnit框架 1105

27.4 如何进行单元测试 1106

27.4.1 单元测试步骤 1107

27.4.2 编写可测试代码 1108

27.4.3 进行单元测试的原因 1108

27.5 简单对象的单元测试 1109

27.5.1 单元测试一个实用对象 1109

27.5.2 单元测试一个事务对象 1115

27.6 单元测试servlet 1121

27.7 单元测试数据库访问层 1130

27.8 单元测试JSP 1131

27.9 单元测试EJB和RMI对象 1132

27.10 小结 1136

第28章 Java消息服务 1137

28.1 消息系统 1137

28.2 JMS编程 1138

28.2.1 发布和预定编程 1139

28.2.2 点到点编程 1143

28.2.3 消息 1145

28.2.4 JMS编程技术和问题 1147

28.3 JMS实现 1153

28.4 一个示例应用 1154

28.4.1 代码简介 1154

28.4.2 运行此应用 1159

28.5 JMS基于消息的集成 1159

28.5.1 将JMS和XML作为一种集成平台 1160

28.5.2 集成的体系结构模式 1160

28.5.3 超越集成—设计开放式应用 1162

28.6 小结 1162

第29章 与CORBA的集成 1163

29.1 本章使用工具 1163

29.2 CORBA简介 1163

29.3 IDL入门 1180

29.3.1 基本IDL类型 1180

29.3.2 复杂IDL类型 1180

29.3.3 模块 1181

29.3.4 接口 1181

29.3.5 属性 1182

29.3.6 操作 1182

29.3.7 异常 1183

29.3.8 继承 1184

29.4 J2EE和CORBA 1184

29.5 与J2EE集成 1195

29.5.1 servlet和CORBA对象 1196

29.5.2 JavaServer Page和CORBA对象 1204

29.5.3 EJB和CORBA对象 1208

29.5.4 J2EE用做CORBA客户端简介 1215

29.6 小结 1216

第30章 结合在一起的J2EE应用 1217

30.1 J2EE应用 1217

30.1.1 J2EE模块 1217

30.1.2 应用部署描述器 1218

30.1.3 J2EE应用结构 1220

30.1.4 为什么J2EE应用有些麻烦 1221

30.1.5 J2EE应用的前景 1221

30.2 设计一个J2EE应用 1222

30.3 应用开发周期 1224

30.4 创建一个完整的J2EE应用 1224

30.4.1 需求 1225

30.4.2 设计 1225

30.4.3 组件实现 1226

30.4.4 组件打包/汇编 1232

30.4.5 应用汇编 1234

30.4.6 应用部署 1238

30.4.7 运行应用 1242

30.4.8 使用其他的应用服务器 1243

30.5 小结 1244

附录A 配置Tomcat和JRun 1245

附录B 建立Netscape iPlanet目录

服务器 1256

附录C HTTP参考 1268

附录D 国际化 1278

附录E Swing HTML生成 1300

附录F 支持. 勘误和P2P.Wrox.Com 1333