《精通Enterprise JavaBeans编程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:李华飚,李水根编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2003
  • ISBN:7030114604
  • 页数:407 页
图书介绍:J2EE是使用J2EE进行基于Web的企业应用开发的标准体系结构。EJB组件技术是J2EE体系结构的重要组成部分。本书讲述了如何使用EJB组件体系结构进行企业开发。本书分为两篇,第一篇重点讲述了EJB2.0规范。首先讲述了J2EE体系结构,以及EJB组件技术在J2EE体系结构中的作用。然后介绍三种Bean:实体Bean、会话Bean和消息驱动Bean,讲述了编写每种类型的Bean所需要的基础知识,包括示例和详细的Bean的生命周期图表。然后是高级EJB概念,包括事务管理、安全性以及EJB设计模式。第二篇主要介绍WebSphere环境下的EJB编程。包括Visual Age for Java开发工具的介绍,以及如何使用Visual Age for Java开发实体Bean和会话Bean。在本部分重点讲述了一些高级功能,包括定制Finder方法,Access Bean的使用以及开发,并且使用了一具综合的实例阐述了三层结构和EJB的结合使用。在附录部分介绍了EJB2.0 API以及部署描述符的使用。

目录 1

第一篇 EnterpriseJavaBeans基础 1

第一章 企业应用开发与J2EE 1

1.1分布式计算介绍 1

1.1.1分布式计算的概念 1

1.1.2构成分布式计算的一些基本要素 2

1.1.3软件组件技术介绍 3

1.2企业应用开发模型 4

1.2.1传统Client/Server系统的两层体系结构 4

1.2.2企业应用开发的多层体系结构 5

1.2.3基于组件的分布式系统开发规范与平台 6

1.3J2EE标准 10

1.3.1什么是J2EE 11

1.3.2J2EE体系结构介绍 11

1.3.3J2EE组件 12

1.3.4J2EE客户端 12

1.3.5J2EE技术 12

1.4EJB与企业应用集成(EAI) 14

1.4.1电子商务就是EAI 15

1.4.2企业应用分割带来的问题 15

1.4.3什么是EAI 15

1.4.4EAI的目标 17

1.4.5EAI的类型 17

1.4.7EAI架构模式 19

1.4.6EAI中间件技术 19

1.4.8EJB、应用程序服务器与应用程序集成(EAI) 23

第二章 EnterpriseJavaBeans概述 27

2.1什么是EJB 27

2.1.1EJB的定义 27

2.1.2EJB技术规范目标 27

2.2为什么选择EJB 28

2.3EJB中的角色 29

2.3.1角色定义 29

2.3.2EJB角色间的关系 30

2.4EJB的种类 30

2.4.1会话Bean(SessionBean) 31

2.4.3消息处理Bean 32

2.4.2实体Bean(EntityBean) 32

2.5EnterpriseJavaBeans和JavaBeans的关系 33

2.6EnterpriseJavaBeans的体系结构 33

2.6.1相关概念 33

2.6.2体系结构 35

2.7理解EJB组件 36

2.7.1Home接口 36

2.7.2Home接口中的方法 37

2.7.3容器 38

2.7.4EnterpriseJavaBean 38

2.7.6EJBObject 39

2.7.5RemoteInterface 39

2.8会话Bean 40

2.8.1会话Bean的交换 41

2.8.2活化和钝化 41

2.8.3会话Bean的状态管理 41

2.9实体Bean 42

2.9.1实体Bean的角色 42

2.9.2实体Bean和会话Bean的比较 42

2.9.3Finder方法 43

2.9.4主键 44

2.9.5实体Bean的内外存交换 45

2.9.6自管理的持久性 46

2.9.7容器管理的持久性 46

2.10EJB的配置和部署 47

2.10.1EJB部署描述符顶级元素 47

2.10.2部署描述符 47

2.10.3EJBJar文件 47

2.10.4EJB部署过程 47

2.10.5区分EJB开发的角色 48

2.11EJB异常类型 50

3.1.1有状态会话Bean 51

3.1.2无状态会话Bean 51

第三章 SessionBean组件 51

3.1概述 51

3.1.3会话Bean的客户端视图 52

3.2会话Bean客户端接口 53

3.2.1会话Bean远程接口 53

3.2.2会话Bean本地接口 55

3.2.3会话Bean的Home接口 55

3.2.4会话Bean的本地Home接口 57

3.3无状态会话Bean 58

3.3.1无状态会话Bean的生命周期 58

3.3.3无状态会话Bean上下文设置 59

3.3.4无状态会话Bean的创建与删除 59

3.3.2无状态会话Bean的Bean类 59

3.4有状态会话Bean 60

3.4.1有状态会话Bean的生命周期 61

3.4.2有状态会话Bean的Bean类 62

3.4.3有状态会话Bean的创建与删除 62

3.4.4有状态会话Bean的钝化与激活 62

3.4.5有状态会话Bean小结 63

3.5从EJB会话Bean访问EJB实体Bean 63

3.6小结 66

第四章 实体Bean组件 67

4.1实体Bean概述 67

4.2实体Bean客户端接口 68

4.2.1实体Bean远程接口 69

4.2.2实体Bean本地接口 70

4.2.3实体Bean的Home接口 71

4.2.4实体Bean的本地Home接口 72

4.3介绍BMP实体Bean 75

4.3.1BMP实体Bean的生命周期 75

4.3.2BMP实体Bean上下文的设置与取消设置 76

4.3.3BMP实体Bean的查找 77

4.3.4BMP实体Bean的创建与删除 77

4.3.5BMP实体Bean的钝化与激活 78

4.3.6BMP实体Bean的存储与加载 79

4.3.7BMP实体Bean小结 79

4.4.2CMP2.0模型 80

4.4.1EJB2.0与CMP 80

4.4介绍CMP实体Bean 80

4.4.3容器管理的关系(CMR) 82

4.4.4CMP实体Bean的生命周期 82

4.4.5CMP实体Bean小结 84

第五章 EJBQL:用于CMP查询方法的EJB查询语言 85

5.1概述 85

5.2EJBQL定义 86

5.2.1抽象模式类型和查询域 86

5.2.2查询方法 87

5.2.3命名 88

5.2.4示例 88

5.2.5返回值类型 89

5.2.6From语句和导航声明 90

5.2.7Where语句和条件表达式 93

5.2.8Select语句 98

5.2.9Null值 99

5.2.10相等语义 100

5.2.11限制 100

5.3示例 101

5.3.1简单查询 101

5.3.2有关系的查询 101

5.3.3使用输入参数查询 102

5.3.5EJBQL和SQL 103

5.3.4查询实体Bean的值 103

5.4EJBQLBNF 104

第六章 消息驱动的Bean组件 108

6.1概述 108

6.2消息驱动Bean组件的作用 108

6.3消息驱动Bean的客户端视图 109

6.4消息驱动Bean实例与其容器之间的关系 110

6.4.1必需的MessageDrivenBean接口 110

6.4.2必需的javax.jms.MessageListener接口 111

6.4.3MessageDrivenContext接口 111

6.4.4消息驱动Bean的ejbCreate()方法 111

6.4.8消息确认 112

6.4.7消息驱动Bean方法的事务上下文 112

6.4.6消息处理的并发 112

6.4.5序列化消息驱动Bean方法 112

6.4.9消息驱动Bean与目的地的关联 113

6.4.10处理异常 113

6.4.11遗漏的ejbRemove()调用 114

6.5消息驱动Bean状态图 114

6.6消息驱动Bean的对象交互图 116

6.6.1消息接收:onMessage方法调用 116

6.6.2将实例添加到池中 116

6.6.3从池中删除实例 117

6.7Bean供应商的责任 117

6.7.3ejbCreate方法 118

6.7.4onMessage方法 118

6.7.2消息驱动Bean类 118

6.7.1类和接口 118

6.7.5ejbRemove方法 119

6.8容器供应商的责任 119

6.8.1实现类的生成 119

6.8.2消息驱动Bean的部署 119

6.8.3非可重入实例 119

6.8.4事务范围、安全、异常 119

第七章 事务处理 120

7.1事务的概念 120

7.2.2JavaTransactionAPI(JTA) 124

7.2.1JavaTransactionService(JTS) 124

7.2J2EE对事务的支持 124

7.2.3EJB事务属性 125

7.3隔离 128

7.3.1并发控制 128

7.3.2并发事务引发的问题 129

7.3.3隔离层 130

第八章 安全性 133

8.1EJB1.1安全模型 133

8.2EJB安全定制 137

第九章 异常 139

9.1异常的种类 139

9.3EJB容器处理异常的方式 140

9.2异常处理基础知识 140

9.4一般的处理异常策略 141

9.5EJB异常处理的原则 143

9.6应用异常的处理 144

9.7处理系统异常 145

9.8处理Web层的异常 149

9.9真实世界的复杂性 149

9.10小结 151

第十章 EJB与J2EE设计模式 152

10.1Model-View-Controller模式 152

10.2FrontController模式 153

10.3SessionFacade模式 156

10.4DataAccessObject模式 160

10.5小结 163

第二篇 使用VisualAgeforJava开发EJB 164

第十一章 介绍VisualAgeforJava 164

11.1概述 164

11.2集成式开发环境(IDE) 165

11.3数据库连接 165

11.4企业系统连接 165

11.5J2EE开发环境 165

11.7容器管理的持久化(Container-ManagedPersistence,CMP) 166

11.6EJB页 166

11.8WebSphere测试环境(WTE,WebSphereTestEnvironment) 167

11.9Deployment(发布) 167

11.10测试和调试 167

11.11RAD支持 167

11.12小组开发环境 168

第十二章 EJB开发环境 169

12.1EJB开发环境的功能概述 169

12.1.1EJB页 169

12.1.2创建EntcrpriseBean和AccessBean 169

12.1.5验证EnterpriseBean和AccessBean代码 170

12.1.6测试EnterpriscBean 170

12.1.4生成调度码 170

12.1.3在EnterpriseBean中构建数据持久性 170

12.2安装和配置VisualAgeforJava 171

12.2.1安装VisualAgeforJava 171

12.2.2装入必需的功能部件 172

12.2.3将JDBC驱动程序添加到类路径 174

12.3EJB开发环境的使用概述 175

12.4EJB页 177

12.4.1企业Bean窗格 177

12.4.2类型/特性窗格 178

12.5.2EnterpriseBeans窗格的操作 179

12.5.1工具栏的图标 179

12.5操作 179

12.4.4Source窗格 179

12.4.3成员窗格 179

12.5.3对类型的操作 183

12.5.4对特性菜单的操作 183

12.5.5对成员的操作 184

12.5.6对Source窗格的操作 185

12.5.7对EnterpriseBean的测试 185

第十三章 使用VisualAgeforJava开发CMP实体Bean 186

13.1CMP开发过程概述 186

13.2EJB组(EJBGroup)的使用 186

13.2.1添加EJB组 187

13.2.2从模式或模型创建EJB组 188

13.3添加EnterpriseBean 190

13.2.3删除EJB组和EnterpriseBean 190

13.3.1打开“创建EnterpriseBean智能向导” 191

13.3.2创建新的EnterpriseBean 192

13.3.3从资源库检索现存的EnterpriseBean 196

13.3.4从JAR文件导入EnterpriseBean 197

13.4创建和管理CMP字段 197

13.4.1添加CMP字段 198

13.4.2删除CMP字段 199

13.5实例:创建一个简单的CMP实体Bean 200

13.5.1理解自动生成的类和接口 201

13.5.2理解自动生成的方法 208

13.6在企业Bean中添加新的方法 209

13.7添加方法到远程接口 210

13.8将方法标记为只读 210

13.9定制本地接口 210

13.9.1定制ejbCreate方法 211

13.9.2创建新的ejbCreate方法 211

13.9.3添加方法到本地接口 211

13.10定义数据库模式 212

13.10.1创建模式 212

13.10.2创建表和列 214

13.10.3创建外键关系 216

13.11映射数据库模式 217

13.10.4将模式导出到数据库 217

13.11.1创建EJB组映射 218

13.11.2创建表映射 219

13.11.3编辑特性映射 222

13.12将企业Bean映射至数据库表的方法 223

13.12.1自顶向下 223

13.12.2自底向上 223

13.12.3上下向中 224

13.13调度 224

13.13.1设置EJB调度描述符特性 224

13.13.2生成EJB调度类 225

13.14小结 226

第十四章 使用VisualAgeforJava开发BMP实体Bean 227

14.1Bean-Managedpersistence(Bean管理的持久化) 227

14.2实例:开发一个BMP实体Bean 227

14.2.1创建一个BMP实体Bean 227

14.2.2理解生成的类和接口 228

14.2.3添加和定义BMP字段 228

14.2.4更改键类 229

14.2.5Bean类中的方法 230

14.2.6实现Bean类中的方法 231

14.2.7修改本地接口和远程接口 242

14.3小结 242

15.1SessionBean的实现 243

15.1.1SessionBean类 243

第十五章 使用VisualAgeforJava开发SessionBean 243

15.1.2远程接口 245

15.1.3本地接口 246

15.2实例:无状态SessionBean的开发 247

15.2.1新建SessionBean 247

15.2.2理解自动生成的类型和方法 247

15.2.3添加商业方法 247

15.2.4设置SessionBeand的状态管理属性 249

15.3实例:购物车SessionBean 249

15.3.1创建购物车SessionBean 249

15.3.3代表购物信息的一个类 250

15.3.2定义购物车SessionBean的状态管理属性 250

15.34在Bean类中创建商业方法 251

15.3.5将创建的商业方法添加到本地接口或者远程接口 252

15.4小结 254

第十六章 定制Finder方法进行查询 255

16.1Finder方法概述 255

16.2编写定制的Finder方法 255

16.2.1BeanFinderHelper接口 255

16.2.2BeanFinderObject类 260

16.3何时使用定制Finder 262

16.3.1两种方法的混合使用 262

16.3.2定制Finder的替代选择 262

16.4Finder方法和事务 263

16.5Finder和复杂的关联 264

16.6小结 264

第十七章 AccessBeans(访问Bean)开发 265

17.1AccessBean概述 265

17.1.1AccessBean的类型 266

17.1.2AccessBean的一般特性 266

17.1.3AccessBean的一般约定 267

17.2JavaBeanwrapper 267

17.2.1创建JavaBeanWraper 267

17.2.2分析生成的JavaBeanWraper 269

17.3CopyHelper 272

17.3.1创建CopyHelper访问Bean 273

17.3.2分析生成的CopyHelper访问Bean 274

17.4Rowset 280

17.4.1创建Rowset访问Bean 280

17.4.2分析生成的Rowset访问Bean 280

17.5在客户端编程中使用AccessBean 282

第十八章 继承 283

18.1继承概述 283

18.1.1为继承创建映射 283

18.1.2EJB继承的特性 284

18.1.3标准Java继承的特性 284

18.2实例:使用EJB继承创建EnterpriseBean 285

18.4小结 288

18.3使用Java继承来开发企业Bean 288

第十九章 关联 289

19.1实例:创建l:m关联 289

19.1.1创建实体Bean:Company和Product 290

19.1.2添加关联 290

19.1.3生成的代码 292

19.1.4定义数据库模式 315

19.1.5定义外键关系 317

19.1.6映射模式和映射关联 317

19.2实例:创建m:m关联 319

第二十章 客户端编程 320

20.1实例:查询图书内容 320

20.2使用AccessBean来访问EJB 324

第二十一章 实例:网站内容管理系统 325

21.1介绍内容管理系统 325

21.2功能分析 325

21.2.1栏目管理 325

21.2.2页面管理 327

21.2.3内容浏览 329

21.3系统设计 330

21.3.1抽取对象 330

21.3.2设计数据库 330

21.3.3设计模式 331

21.4实现方案 331

21.5.1Servlet的父类 333

21.5程序讲解 333

21.5.2删除栏目(Servlet程序) 334

21.5.3编辑栏目(Servlet程序) 336

21.5.4查看栏目内容(Servlet程序) 337

21.5.5查看栏目列表(Servlet程序) 339

21.5.6新建栏目(Servlet程序) 340

21.5.7删除文章(Servlet程序) 342

21.5.8编辑文章(Servlet程序) 344

21.5.9查看文章内容(Servlet程序) 346

21.5.10查看文章列表(Servlet程序) 347

21.5.11新建文章(Servlet程序) 350

21.5.12浏览文章内容(Servlet程序) 352

21.5.13浏览文章列表(Servlet程序) 354

21.5.14编辑栏目(JSP页面) 357

21.5.15查看栏目列表(JSP页面) 358

21.5.16新建栏目(JSP页面) 359

21.5.17编辑文章(JSP页面) 360

21.5.18查看文章列表(JSP页面) 361

21.5.19新建文章(JSP页面) 363

21.5.20浏览文章内容(JSP页面) 364

21.5.21浏览文章列表(JSP页面) 366

21.6小结 368

附录A EJBAPI2.0 369

附录B EJB1.1部署描述符 381