《EJB 3基础教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)RAGHU R.KODALI JONATHAN WETHERBEE PETER ZADROZNY著;马朝晖,杨艳等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115166227
  • 页数:330 页
图书介绍:本书的目的是把EJB 3介绍给开发者,并且深入介绍如何把这种技术应用于日常的实际应用程序。本书围绕最新的EJB 3架构和编程提供全面和丰富的实例。书中从EJB 3最基本的内容讲起,涉及EJB 3规范的各个方面,并将许多实践经验融入整个EJB 3架构,提供了对EJB 3架构和EJB 3编程全面的实战性的指导,充分体现了EJB 3强大的功能和易于使用的特点。

第1章 EJB 3架构简介 1

1.1 EJB简介 1

1.1.1 EJB是什么 2

1.1.2 EJB组件模型 2

1.1.3 EJB框架 2

1.1.4 EJB核心特性 2

1.1.5 EJB规范的发展 3

1.1.6 EJB 3简化开发模型 4

1.1.7 分布式计算模型 6

1.1.8 EJB角色 6

1.2 本书结构 6

1.3 准备 8

1.3.1 安装GlassFish应用程序服务器的先决条件 8

1.3.2 安装GlassFish应用程序服务器 9

1.3.3 环境变量设置 10

1.3.4 密码文件的创建 12

1.3.5 启动和测试GlassFish安装 12

1.4 小结 15

第2章 EJB 3会话bean 16

2.1 简介 16

2.2 会话bean简介 16

2.2.1 会话bean类型 16

2.2.2 何时使用会话bean 16

2.3 无状态会话bean 18

2.3.1 bean类 18

2.3.2 业务接口 19

2.3.3 业务方法 21

2.3.4 依赖注入 22

2.3.5 回调方法 22

2.3.6 拦截器 23

2.4 有状态会话bean 25

2.4.1 bean类 25

2.4.2 业务接口 26

2.4.3 业务方法 27

2.4.4 回调方法 28

2.4.5 拦截器 29

2.4.6 异常处理 29

2.5 会话bean的客户视图 29

2.6 会话bean的打包、部署和测试 32

2.6.1 先决条件 32

2.6.2 编译会话bean 32

2.6.3 打包会话bean 33

2.6.4 部署会话bean 34

2.6.5 编译客户程序 34

2.6.6 运行客户程序 35

2.7 小结 36

第3章 实体和JPA 37

3.1 实体示例 38

3.1.1 简单JavaBean Customer.java 38

3.1.2 简单实体Customer.java 38

3.1.3 显示了默认设置的实体Customer.java 39

3.1.4 代码要求 41

3.1.5 示例:注解实例变量 42

3.1.6 示例:注解属性访问方法 43

3.1.7 声明主键 44

3.1.8 简单主键 44

3.1.9 复合主键 45

3.1.10 实体示例小结 47

3.2 持久化档案 47

3.3 EntityManager 48

3.3.1 持久化上下文 48

3.3.2 获得EntityManager实例 49

3.3.3 事务支持 50

3.4 实体生存周期 50

3.5 O/R映射 52

3.5.1 再谈@Table注解 52

3.5.2 再谈@Column注解 53

3.5.3 复杂映射 54

3.6 实体关系 54

3.6.1 @OneToOne 54

3.6.2 @OneToMany和@ManyToOne 55

3.6.3 @ManyToMany 55

3.6.4 延迟和预先字段绑定 56

3.6.5 层叠操作 56

3.7 JPQL 57

3.7.1 @NamedQuery和@NamedQueries 57

3.7.2 绑定查询参数 58

3.7.3 动态查询 59

3.7.4 批更新和删除操作 59

3.7.5 复杂查询 60

3.8 向前生成与反向工程 60

3.8.1 向前生成产生持久性 60

3.8.2 反向工程产生适应性 60

3.8.3 哪种方式适用于你的工程 60

3.9 示例应用程序CustomerOrderManager 60

3.9.1 Customer.java 60

3.9.2 CustomerOrder.java 62

3.9.3 Address.java 65

3.9.4 CustomerOrderManager.java 67

3.9.5 CustomerOrderClient.java 68

3.9.6 persistence.xml 69

3.10 小结 70

第4章 高级持久化特性 71

4.1 映射实体继承层次结构 71

4.1.1 准备 72

4.1.2 实体继承映射策略 72

4.1.3 每个类单一表的继承层次结构(InheritanceType.SINGLE_TABLE) 74

4.1.4 带有连接子类表的通用基表(InheritanceType.JOINED) 82

4.1.5 每个最外层一个表的具体实体类(InheritanceType.TABLE_PER_CLASS) 85

4.1.6 O/R实现方式的比较 87

4.2 在继承层次结构中使用抽象实体、映射的超类和非实体类 88

4.2.1 抽象实体类 88

4.2.2 映射的超类(@MappedSuper-class) 89

4.2.3 非实体类 90

4.2.4 使用嵌入非实体类(@Embeddable和@Embedded) 90

4.3 多态关系 92

4.4 多态JPQL查询 93

4.5 使用原生SQL查询 93

4.6 复合主键和嵌套外键 94

4.6.1 使用嵌套复合键(@EmbeddedId) 95

4.6.2 在实体类上直接暴露复合键类字段(@IdClass) 96

4.6.3 使用复合键的映射关系 97

4.7 乐观锁定的支持(@Version) 98

4.8 自动生成的主键值的支持 99

4.9 拦截器:实体回调方法 100

4.10 小结 101

第5章 EJB 3消息驱动bean 103

5.1 简介 103

5.2 面向消息的架构 103

5.2.1 JMS是什么 103

5.2.2 消息应用程序架构 104

5.3 使用MDB 105

5.3.1 何时使用MDB 105

5.3.2 MDB类 106

5.3.3 配置属性 108

5.3.4 MDB中的依赖注入 111

5.3.5 回调方法 112

5.3.6 拦截器 113

5.3.7 异常处理 113

5.3.8 客户视图 114

5.4 MDB的打包、部署和测试 117

5.4.1 先决条件 117

5.4.2 编译会话bean和MDB 117

5.4.3 打包会话bean和MDB 118

5.4.4 创建JMS和JavaMail资源 118

5.4.5 部署会话bean和MDB 120

5.4.6 编译客户程序 121

5.4.7 运行客户程序 121

5.5 小结 122

第6章 EJB 3和Web服务 123

6.1 简介 123

6.2 Web服务是什么 123

6.2.1 UDDI 123

6.2.2 WSDL 124

6.2.3 SOAP 127

6.2.4 何时使用Web服务 128

6.3 Java EE和Web服务 128

6.3.1 JAX-WS 129

6.3.2 JAXB 129

6.3.3 JAXR 129

6.3.4 SAAJ 129

6.3.5 JSR 181 129

6.4 EJB 3无状态会话bean作为Web服务 129

6.5 Web服务的打包、部署和测试 132

6.5.1 先决条件 133

6.5.2 编译会话bean 133

6.5.3 打包会话bean 133

6.5.4 部署会话bean 134

6.5.5 使用GlassFish控制台测试信用卡服务 135

6.6 Web服务客户视图 137

6.6.1 开发访问Web服务的Java客户程序 137

6.6.2 会话bean作为Web服务客户程序 140

6.7 小结 141

第7章 集成会话bean、实体、消息驱动bean和Web服务 142

7.1 简介 142

7.2 应用程序概述 142

7.3 应用程序组件和服务 142

7.3.1 购物车组件 142

7.3.2 搜索外观组件 143

7.3.3 顾客外观组件 143

7.3.4 订单处理外观组件 143

7.3.5 持久化服务 143

7.3.6 电子邮件服务 143

7.3.7 信用卡服务 143

7.3.8 订单处理服务 144

7.4 酒类在线应用程序业务处理 144

7.5 深入讲解组件/服务 145

7.5.1 持久化服务 145

7.5.2 顾客外观组件 145

7.5.3 搜索外观组件 148

7.5.4 购物车组件 149

7.5.5 订单处理外观组件 154

7.5.6 订单处理服务 161

7.5.7 电子邮件服务 166

7.5.8 信用卡服务 168

7.5.9 数据库schema 168

7.6 打包、部署和测试应用程序 168

7.6.1 先决条件 169

7.6.2 部署信用卡服务 169

7.6.3 编译持久化单元 170

7.6.4 打包持久化单元 171

7.6.5 编译业务服务(会话bean和MDB) 171

7.6.6 打包业务服务 172

7.6.7 汇编应用程序 173

7.6.8 创建数据库schema 173

7.6.9 创建数据源、JMS资源和Mail资源 173

7.6.10 部署应用程序 177

7.7 应用程序的简单测试客户程序 177

7.8 小结 180

第8章 EJB 3中的事务支持 181

8.1 事务是什么 181

8.1.1 分布式事务 182

8.1.2 事务的ACID属性 182

8.1.3 JTA 182

8.1.4 两阶段提交协议 183

8.2 EJB中的事务支持 183

8.3 服务模型中的会话bean事务行为 184

8.3.1 容器管理的事务分界 184

8.3.2 bean管理的事务分界 186

8.4 持久化模型中的实体事务行为 187

8.4.1 实体如何与事务上下文相关联 187

8.4.2 容器管理与应用程序管理的持久化上下文 187

8.4.3 事务范围的持久化上下文与扩展的持久化上下文 188

8.4.4 JTA与资源本地的Entity-Manager 188

8.5 酒类在线应用程序的事务场景 188

8.5.1 设置示例 188

8.5.2 使用CMT分界的无状态会话bean 189

8.5.3 使用BMT分界的有状态会话bean和扩展的持久化上下文 197

8.6 小结 204

第9章 EJB 3性能和测试 205

9.1 测试方法论 206

9.1.1 性能标准 206

9.1.2 模拟应用程序使用 208

9.1.3 定义测试尺度 208

9.2 Grinder 209

9.3 测试应用程序 211

9.4 性能测试 212

9.4.1 测试环境 214

9.4.2 测试脚本 215

9.4.3 设置 215

9.4.4 初步测试 219

9.4.5 样本大小 220

9.4.6 校准 221

9.4.7 实际测试运行 221

9.4.8 分析结果 222

9.5 小结 225

第10章 把EJB 2.x应用程序迁移到EJB 3 226

10.1 准备 227

10.2 会话bean迁移 227

10.2.1 EJB 2.1会话bean 227

10.2.2 EJB 2.1的ejb-jar.xml文件 228

10.2.3 EJB 3会话bean类 229

10.2.4 迁移EJB 2.1会话bean类 229

10.2.5 迁移EJB 2.1会话bean接口 230

10.2.6 迁移EJB 2.1会话bean的ejb-jar.xml属性 231

10.2.7 迁移EJB 2.1的Web服务端点接口 232

10.2.8 会话bean迁移包装 232

10.3 MDB迁移 232

10.4 实体bean迁移 233

10.5 EJB客户程序迁移 235

10.6 完整的应用程序迁移示例 235

10.6.1 EJB 2.1应用程序源文件 235

10.6.2 EJB 3应用程序源文件 246

10.7 把我们的应用程序迁移在Java EE容器之外运行 251

10.7.1 EJB 3会话bean类运行在EJB容器之外 251

10.7.2 容器外部持久化单元的EJB 3的persistence.xml文件 253

10.7.3 EJB 3应用程序管理的EntityManager客户程序 253

10.8 小结 254

第11章 EJB 3部署 255

11.1 部署工具简介 255

11.2 部署过程概述 256

11.2.1 提供者 256

11.2.2 装配者 256

11.2.3 部署者 258

11.3 Java EE部署基础结构 259

11.3.1 Java EE服务器 259

11.3.2 Java EE容器 259

11.4 Java EE部署组件 260

11.4.1 Java EE应用程序 260

11.4.2 Java EE模块类型 260

11.4.3 库组件 262

11.5 应用服务器和平台无关性 264

11.5.1 部署工具 264

11.5.2 部署计划 265

11.6 部署角色 265

11.6.1 应用程序装配者 265

11.6.2 应用程序部署者 267

11.7 汇编EJB JAR模块 268

11.8 汇编持久化单元 268

11.9 小结 269

第12章 EJB 3客户应用程序 270

12.1 应用程序架构 270

12.2 JSF 274

12.2.1 Java EE Web技术的发展 274

12.2.2 JSF架构 275

12.2.3 JSF工具和组件 277

12.3 使用JSF和EJB开发Web应用程序 277

12.3.1 登录页面 279

12.3.2 新用户注册页面 282

12.3.3 链接页面 288

12.3.4 搜索页面 291

12.3.5 酒类清单页面 297

12.3.6 显示选定的酒类详细信息页面 300

12.3.7 显示购物车项目页面 304

12.3.8 通知页面 307

12.4 打包、部署和测试应用程序 308

12.4.1 先决条件 308

12.4.2 编译和打包JSF应用程序 308

12.4.3 汇编酒类商店应用程序 309

12.4.4 部署酒类商店应用程序 309

12.4.5 运行酒类商店应用程序 310

12.5 应用程序客户容器 314

12.6 小结 314

附录 315