《Oracle9iAS J2EE应用程序开发 构建健壮的J2EE组件》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Nirva Morisseau-Leroy,(美)Ekkehard Rohwedder等著;周立斌,王福明译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302074410
  • 页数:420 页
图书介绍:本书的第一部分介绍了J2EE及其所有组件的历史,包括角色、包装、架构和设计模式,也介绍了Oracle9iAS的总体情况和OC4J服务的细节,例如JDBC、数据源、JNDI、RMI和SQLJ。本书的第二部分介绍Enterprise JavaBean,以及如何使用它的各种形式来封装业务逻辑、进行事务处理,以及使用设计模式和本地接口。本书的第三部分,全面介绍了使用Servlet和JavaServerPage的表示层。此外,本书还介绍了如何使用Java Authentication and Authorization Service (JAAS)增强应用程序的安全性。

第Ⅰ部分 概述 1

第1章 J2EE介绍 1

1.1 J2EE基础知识、历史和发展趋势 1

1.2 J2EE技术 2

1.3在项目中使用或者不使用J2EE的技术价值 5

1.4 J2EE的体系结构 6

1.5 J2EE的组件、容器和服务 8

1.6打包和部署 8

1.6.2 Web模块(WAR文件) 9

1.6.1企业归档文件 9

1.6.3 EJB模块 10

1.6.4客户应用程序模块 10

1.6.5资源适配器模块 10

1.7 J2EE中的角色 11

1.7.1 J2EE产品提供者 11

1.7.2工具提供者 11

1.7.3应用程序组件提供者 11

1.7.4应用程序装配者 12

1.7.5应用程序部署者和系统管理人员 12

1.8.2会话外观 13

1.8.3值对象 13

1.8.1前端控制器 13

1.8 J2EE设计模式 13

1.8.4逐页迭代器 14

1.8.5数据访问对象 14

1.8.6快速通道读取器 15

1.9示例应用程序和方法学 15

第2章 Oracle9i J2EE应用服务器容器(OC4J)概述 17

2.1安装和启动OC4J 18

2.2OC4J启动选项 18

2.3通过命令行工具管理OC4J 19

2.3.1 OC4J系统管理概要 20

2.3.2应用程序部署选项 20

2.3.3 Web站点系统管理选项 22

2.3.4应用程序选项和数据源管理 24

2.4把J2EE应用程序部署到OC4J 26

2.4.1配置OC4J的data-sources.xml文件 27

2.4.2部署分解式目录 28

2.4.3建立应用程序的归档文件 29

2.4.4把EAR文件部署到OC4J 30

2.5调 试OC4J 30

第3章 OC4J服务概述 33

3.1 Java数据库连接性(JDBC) 33

3.1.1 JDBC连接 33

3.1.2通过Java应用程序连接到Oracle数据库 34

3.1.3来自ConnectToOracle类的输出 35

3.2 SQLJ 36

3.3.1 JNDI查找机制 44

3.3 Java命名和目录接口(JNDI) 44

3.3.2 JNDI环境 45

3.3.3在OC4J中查找资源 46

3.3.4使用InitialContext(Hashtable env)构造函数 47

3.4 OC4J和数据源 49

3.5RMI和OC4J 53

3.5.1配置RMI隧道 53

3.5.2在OC4J的server.xml文件和rmi.xml文件中配置RMI 54

3.6.1 JAAS 55

3.6.2 Oracle HTTP服务器 55

3.6 JAAS,Oracle HTTP服务器和JMS 55

3.6.3 JMS 56

3.7 Java事务处理API 56

3.8 Java连接器体系结构 57

3.9 Oracle9iAS TopLink 57

3.9.1基础库 58

3.9.2映射工作台 58

3.9.3产生TopLink对象-关系型映射 59

3.9.4循序渐进学习Employee例子 59

第Ⅱ部分 构建J2EE业务层组件 75

第4章 介绍Enterprise JavaBean(EJB) 75

4.1.2 EJB 1.0和1.1版 76

4.1Enterprise JavaBean规范 76

4.1.1 Enterprise JavaBean设计目标 76

4.1.3 EJB 2.0版 77

4.1.4Enterprise JavaBean角色 77

4.1.5 Enterprise JavaBean体系结构 79

4.2 Enterprise JavaBean的类型 80

4.2.1会话Bean 81

4.2.2实体Bean 81

4.2.3消息驱动型Bean 82

4.3.4消息驱动型Bean的客户视图 83

4.3.3本地客户机 83

4.3.2远程客户机 83

4.3.1会话Bean和实体Bean的客户视图 83

4.3Enterprise JavaBean的客户视图 83

4.4EJB应用程序的组件 84

4.4.1会话和实体Bean组件 84

4.4.2消息驱动型Bean组件 84

4.4.3Enterprise Bean的远程接口和本地home接口 85

4.4.4 Enterprise本地和远程接口 89

4.4.5 Enterprise Bean类 93

4.5 Enterprise JavaBean部署描述符 97

4.6 EJB的事务管理 98

4.8 OC4J J2EE的EJB支持 99

4.7 OC4J事务支持 99

5.1应用程序设计 102

第5章 实体Bean的开发 102

5.2实体Bean组件的定义 104

5.2.1实体Bean的特性 104

5.2.2创建开发目录 106

5.2.3开发实体Bean的基本步骤 108

5.3开发容器管理的持久性Bean 108

5.3.1容器管理关系中的基数 109

5.3.2编写CMP Bean的LineItemLocal的代码 109

5.3.3编写CMP实体Bean的PurchaseOrderLocal的代码 119

5.4.1编写BMP实体Bean的代码 124

5.4开发Bean管理的持久性Bean 124

5.4.2 LocalClientServlet类 137

5.5部署描述符文件ejb-jar.xml 139

5.5.1 ejb-iar.xml文件 140

5.5.2 finder方法的高级配置 143

5.5.3 orion-ejb-jar.xml文件 143

5.5.4 OC4J持久性字段和关系的对象关系映射 147

5.5.5 web.xml文件 147

5.6在OC4J中部署EJB组件 149

5.6.1归档EJB应用程序 149

5.6.2修改OC4J的data-sources.xml文件 150

5.6.3在OC4J中部署EAR文件 151

5.6.4测试应用程序 152

5.6.5部署分解式目录 153

第6章 会话Bean的开发 155

6.1应用程序设计 155

6.2定义会话Bean组件 157

6.3创建Vendor会话Bean 159

6.3.1远程接口Vendor 159

6.3.2远程home接口VendorHome 161

6.3.3 J2EE的值对象模型 162

6.3.4 VendorVO类 162

6.3.5 VendorBean类 165

6.3.6会话Bean的ejb-jar.xml文件 171

6.3.7 VendorClient应用程序 172

6.4创建会话Bean PurchaseOrderManagement 175

6.4.1 J2EE会话外观 175

6.4.2 PurchaseOrderManagement会话Bean的组成 176

6.4.3 PurchaseOrderManagementClient类 185

6.5编写部署描述符文件ejb-jar.xml 188

6.6编写或生成orion-ejb-jar.xml文件 191

6.7在OC4J中部署EJB组件 192

6.7.1归档EJB应用程序 192

6.7.2修改OC4J的data-sources.xml文件 193

6.7.4测试应用程序 194

6.7.3在OC4J中部署EAR文件 194

6.7.5部署分解式目录 197

第7章 EJB消息驱动型Bean的开发 199

7.1 Java消息服务入门 199

7.1.1消息传递的概念 200

7.1.2消息队列的概念 200

7.1.3消息系统的类型 200

7.1.4 JMS的概念 200

7.1.5 JMS消息 201

7.1.6 JMS消息主体的格式 201

7.1.7 JMS客户机 202

7.1.8 OC4J和JMS 204

7.1.9 OC4J和消息提供者 205

7.2应用程序设计 205

7.3定义消息驱动型Bean 208

7.3.1消息驱动型Bean的特征 208

7.3.2消息驱动型Bean和EJB容器 210

7.3.3 J2EE Approval应用程序 210

7.3.4创建开发目录 210

7.4创建消息驱动型Bean 212

7.4.1设定Oracle Advanced Queuing(AQ)为JMS提供者 212

7.4.2编写Approval应用程序的代码 216

7.4.3消息驱动型Bean的生命周期 224

7.4.4编写CMP实体Bean的代码 225

7.4.5编写MDB类EmailMessageBean的代码 230

7.5编写部署描述符ejb-jar.xml 232

7.5.1 ejb-jar.xml文件中的消息驱动型元素 232

7.5.2修改OC4J的application.xml文件 236

7.6编写或生成部署描述符orion-ejb-jar.xml 236

7.7编写JMS客户代码 239

7.7.1编写点对点JMS客户 239

7.7.2编写发布/订阅JMS客户 240

7.8编写web.xml和orion-web.xml XML文件 244

7.9在OC4J中部署EJB组件和消息驱动型Bean 247

7.9.1归档EJB应用程序 248

7.9.2修改OC4J的data-sources.xml文件 249

7.9.3在OC4J中部署EAR文件 249

7.9.4测试应用程序 250

7.9.5部署分解式目录 251

第Ⅲ部分 构建J2EE Web和表示层组件 253

第8章 OC4J安全性 253

8.1建立安全的Internet系统所面临的问题 253

8.2 Java安全模型概述 256

8.2.1 Java 1.0沙箱 256

8.2.2 Java 1.1安全模型 256

8.2.3 Java 1.2安全模型 257

8.3 Java安全性组件 258

8.3.1Java语言安全 258

8.3.2 Java虚拟机安全性 259

8.3.3消息摘要 260

8.3.4数字签名 260

8.3.5公共密钥密码术 261

8.3.6身份验证和证书 261

8.4 Java验证和授权服务(JAAS) 261

8.5.2声明和链接角色引用 264

8.5.1安全角色 264

8.5 J2EE安全概述 264

8.5.3将角色映射到J2EE用户和组 265

8.5.4 J2EE Web层中的安全 265

8.5.5 J2EE EJB层中的安全 265

8.5.6安全身份的传播 266

8.5.7容器之间的信任 266

8.5.8 J2EE用户、域和组 266

8.6 Oracle9iAS套件的安全组件 267

8.7 JAAS的OC4J实现 267

8.7.2配置和LDAP一起使用的JAZN 268

8.7.3配置和jazn data.xml一起使用的JAZN 268

8.7.1配置和OC4J一起使用的JAZN 268

8.7.4使用jaznjar 269

8.7.5身份验证环境 270

8.8集成的和可切换的用户管理器 270

8.9在应用程序中使用OC4J;在OC4J应用程序中编写安全代码 271

8.9.1应用程序设计 271

8.9.2创建开发目录 272

8.9.3指定jazn-data.xml中的用户和组 274

8.9.4配置身份验证方法 275

8.9.5对web.xml文件扩展,包含OC4J安全机制 275

8.9.6 LocalClientServlet类的重用 277

8.10将应用程序部署到OC4J中 280

第9章 Web服务:SOAP,WSDL和UDDI 286

9.1Web服务简介 287

9.1.1SOAP 287

9.1.2 WSDL 289

9.1.3 UDDI 292

9.1.4 Web服务的REST 292

9.2编写Web服务 293

9.2.1现在的需求 293

9.2.2测试Web服务 304

9.3编写Web服务客户程序 305

9.3.1静态Web服务客户端代理 306

9.3.3动态Web服务客户程序 307

9.3.2使用WSDL创建Web服务客户程序 307

9.3.4关于编写Web服务的更多内容 309

第10章 开发Web应用程序 312

10.1Web应用程序中的Servlet 312

10.2 Servlet基本概念 313

10.2.1 HTTP实质 313

10.2.2 Servlet基本体系结构 314

10.2.3 Servlet容器 315

10.2.4 Servlet生命周期 316

10.2.5过滤器和链 316

10.2.7请求对象 317

10.2.6 Servlet上下文 317

10.2.8响应对象 318

10.2.9 Servlet行为 318

10.2.10线程安全 318

10.3 Servlet会话 318

10.3.1 Cookies 319

10.3.2重写URL 319

10.3.3保持会话状态的其他方法 319

10.3.4取消会话 319

10.3.5会话事件 320

10.3.6 MySessionServlet Servlet编码 320

10.4使用Servlet设计一个Web应用程序 322

10.5在Servlet中应用EJB 323

10.6使用Oracle9iAS TopLink开发一个基本的Servlet 328

10.6.1 EmployeeTopLinkServlet类 329

10.6.2JavaBean类EmployeeToplinkBean 333

10.7配置OC4J运行TopLink和Servlet 337

10.7.1配置OC4J运行Oracle9iAS TopLink 337

10.7.2部署描述符文件:web.xml 338

10.8在OC4J上部署应用程序 340

10.8.1归档EJB应用程序 340

10.8.2创建EAR文件 340

10.8.3部署应用程序 341

1 0.8.5测试ViewPurchaseOrder Servlet 342

10.8.4测试MySessionServlet Servlet 342

10.8.6测 试EmployeeTopLinkServlet Servlet 343

第11章 JSP介绍 344

11.1 JSP基本语法 344

11.1.1指令 345

11.1.2脚本元素 347

11.1.3标准动作 349

11.2 JSP体系结构 351

11.3配置OC4J JSP 352

11.4开发目录结构 355

11.5隐式对象 356

11.6错误处理 356

11.7 OC4J对Oracle SQLJ的支持 359

11.8从JSP页面调用EJB 364

11.9以MVC模式用TopLink构建应用程序 368

11.9.1 servlet控制器类:EmployeeServlet 369

11.9.2 JavaBean类:EmployeeToplinkBean 374

11.10把JSP配置和部署到OC4J 378

11.10.1配置OC4J运行Oracle9iAS TopLink 378

11.10.2部署描述符文件:web.xml 379

11.10.3部署及打包应用程序 380

11.10.4测试您的应用程序 381

A.1服务器配置文件 382

A.1.1server.xml文件 382

附录A OC4J XML配置文件 382

第Ⅳ部分 附录 382

A.1.2 data-sources.xml文件 385

A.1.3 jms.xml文件 385

A.1.4 rmi.xml文件 386

A.1.5 http-web-site.xml文件 386

A.1.6 principals.xml文件 387

A.1.7 jazn.xml文件 388

A.1.8 jazn-data.xml文件 388

A.2 J2EE和OC4J部署文件 389

A.2.5 web.xml文件 390

A.2.4 orion-ejb-jar.xml文件 390

A.2.6 orion-web.xml文件 390

A.2.1 application.xml文件 390

A.2.3 ejb-jar.xml文件 390

A.2.2 orion-application.xml文件 390

A.2.7 application-client.xml文件 391

A.2.8 orion-application-client.xml文件 391

附录B OC4J安全性 392

B.1配置第8章中应用程序的安全机制 392

B.2 Oracle9iAS JAAS 9.0.2.0.0 API规范 392

B.2.1 oracle.security.jazn包 392

B.2.2 oracle.securityjazn.policy包 393

B.2.3 oracle.security.jazn.realm数据包 394

附录C Enterprise JavaBean API参考 396

C.1 javax.ejb包 396

C.1.1异常总结 397

C.1.2 javax.ejb.EJBContext接口 397

C.1.3 javax.ejb.EJBHome接口 398

C.1.4 javax.ejb.EJBLocalHome接口 398

C.1.5 javax.ejb.EJBLocalObject接口 398

C.1.6 javax.ejb.EJBMetaData接口 399

C.1.7 javax.ejb.EJBObject接口 399

C.1.9 javax.ejb.EntityBean接口 400

C.1.8 javax.ejb.EnterpriseBean接口 400

C.1.10 javax.ejb.EntityContext接口 401

C.1.11 javax.ejb.Handle接口 401

C.1.12 javax.ejb.HomeHandle接口 401

C.1.13 javax.ejb.MessageDrivenBean接口 401

C.1.14 javax.ejb.MessageDrivenContext接口 402

C.1.15 javax.ejb.SessionBean接口 402

C.1.16 javax.ejb.SessionContext接口 402

C.1.17javax.ejb.SessionSynchronization接口 403

C.2 javax.ejb.spi包 403

C.3javax.jms.MessageListener接口 404

D.1.1企业JavaBean部分 405

附录D OC4J J2EE特定的DTD参考 405

D.1OC4J部署描述符文件的结构 405

D.1.2程序集描述符 410

D.2 orion-ejb-jar.xml的DTD程序清单 410

D.3元素描述 414

D.3.1〈assembly-descriptor〉 414

D.3.2〈cmp-field-mapping〉 414

D.3.3〈collection-mapping〉 414

D.3.4〈context-attribute〉 414

D.3.10〈entity-deployment〉 415

D.3.9〈enterprise-beans〉 415

D.3.8〈ejb-ref-mapping〉 415

D.3.7〈ejb-name〉 415

D.3.6〈description〉 415

D.3.5〈default-method-access〉 415

D.3.11〈entity-ref〉 417

D.3.12〈env-entry-mapping〉 417

D.3.13〈fields〉 417

D.3.14〈finder-method〉 417

D.3.15〈group〉 417

D.3.22〈orion-ejb-jar〉 418

D.3.21〈method-params〉 418

D.3.20〈method-param〉 418

D.3.19〈method-name〉 418

D.3.18〈method-intf〉 418

D.3.17〈method〉 418

D.3.16〈message-driven-deployment〉 418

D.3.23〈primkey-mapping〉 419

D.3.24〈properties〉 419

D.3.25〈resource-ref-mapping〉 419

D.3.26〈security-role-mapping〉 419

D.3.27〈session-deployment〉 419

D.3.28〈set-mapping〉 420

D.3.29〈user〉 420

D.3.30〈value-mapping〉 420