精通EJBPDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)Ed Roman著;王进亮等译
- 出 版 社:北京:电子工业出版社
- 出版年份:2002
- ISBN:750537091X
- 页数:566 页
第一篇 概述 3
第1章 服务器端组件体系结构 3
1.1 对服务器端组件体系结构的迫切需求 3
1.1.1 软件组件 3
1.1.2 组件体系结构 6
1.1.3 对服务器端应用的需求 9
1.1.4 多层体系结构 9
1.2 服务器端组件体系结构解决方案 16
1.2.1 Microsoft公司的DNA体系结构 17
1.2.2 Sun公司的J2EE 18
1.2.3 OMG组织的CORBA标准 18
1.3 Java2平台企业版 19
1.3.1 为什么选择J2EE 19
1.3.2 J2EE技术 21
1.3.3 EJB 23
1.3.4 RMI和RMI-IIOP 23
1.3.5 JNDI 24
1.3.6 JDBC 25
1.3.7 JTA和JTS 25
1.3.8 JMS 26
1.3.9 Java Servlet和JSP 27
1.3.10 Java IDL 27
1.3.11 JavaMail 28
1.3.12 连接器 28
1.3.13 XML 29
1.4 小结 29
第2章 EJB概述 31
2.1 EJB中到底有什么 31
2.1.1 六个组成部分 32
2.1.2 组件供应商 33
2.1.3 EJB服务器和EJB容器供应商 34
2.1.4 应用组装商 36
2.1.5 EJB系统部署员 36
2.1.6 系统管理员 37
2.2 企业Bean 37
2.2.1 Bean的分类 38
2.2.2 Bean组件多种分类的原因 43
2.3 EJB容器和服务器功能概述 43
2.3.1 资源管理和Bean组件生存期管理 45
2.3.2 状态管理 45
2.3.3 事务处理 46
2.3.4 安全性 46
2.3.7 连接代码和Bean组件安装工具 47
2.3.6 远程访问和透明的资源定位 47
2.3.5 持久性 47
2.3.8 专用的容器特性 48
2.4 小结 49
第二篇 开发Bean 53
第3章 会话Bean介绍 53
3.1 Enterprise Bean的组成部分 53
3.1.1 Enterprise Bean类 53
3.1.2 EJB对象 54
3.1.3 Home对象 57
3.1.4 部署描述 59
3.1.5 特定的Bean属性 60
3.1.6 Ejb-jar文件 60
3.1.7 术语小结 61
3.2 什么是会话Bean 61
3.2.2 对话型会话Bean与非对话型会话Bean 62
3.2.1 会话Bean的生命周期 62
3.2.3 所有会话Bean的方法都是可序列化的 63
3.3 如何编写会话Bean 63
3.3.1 setSessionContext(SessionCnntext ctx)方法 64
3.3.2 ejbCreate(...)方法 65
3.3.3 ejbPassivate()方法 65
3.3.4 ejbActivate()方法 66
3.3.5 ejbRemove()方法 66
3.3.6 商务方法 67
3.4 如何调用会话Bean 67
3.4.1 查找Home对象 68
3.4.2 创建EJB对象 70
3.4.4 清除EJB对象 71
3.5 小结 71
3.4.3 调用方法 71
第4章 无状态会话Bean基础 73
4.1 无状态会话Bean特点 73
4.1.1 不存在对话状态 73
4.1.2 只有一种方法初始化无状态会话Bean 73
4.1.3 EJB容器收集并重用无状态会话Bean 73
4.1.4 EJB对象的decoupling 74
4.2 编写“Hello, World!”无状态会话Bean 75
4.2.1 创建“Hello, World!”Remote接口 75
4.2.2 实现“Hello, World!”Bean 76
4.2.3 创建“Hello, World!”Home接口 78
4.2.4 编写部署描述 80
4.2.5 环境属性 81
4.2.6 Ejb-jar文件 81
4.2.7 部署Bean 83
4.2.8 为无状态会话Bean编写客户端代码 83
4.2.9 运行系统 85
4.3 小结 86
第5章 状态会话Bean基础 87
5.1 状态会话Bean特点 87
5.1.1 状态会话Bean具有收集功能 87
5.1.2 对话状态遵从的规则 88
5.1.3 激活/挂起回调方法 89
5.1.4 一个简单的状态会话Bean 90
5.2 状态还是无状态 98
5.3 小结 99
第6章 给Bean增加功能 101
6.1 EJB Context——通向EJB容器之门 101
6.2 会话Bean Context 102
6.3 理解EJB的安全性 103
6.3.1 第1步:验证 103
6.3.2 第2步:授权 104
6.3.3 安全性的传播 106
6.4 理解EJB对象句柄 107
6.5 智力游戏“Fazuul” 108
6.5.1 Fazuul是什么 108
6.5.2 以EJB角度详细说明Fazuul 109
6.5.3 通过环境属性使游戏成为数据驱动型游戏 110
6.5.4 Fazuul游戏的实现 111
6.6 运行客户端应用程序 132
6.6.1 检验EJB对象句柄 134
6.6.2 检验安全性 134
6.7 小结 135
第7章 实体Bean介绍 137
7.1 持久的概念 137
7.1.1 Java对象序列化 137
7.1.2 对象-关系型数据库映射 138
7.1.3 对象数据库 139
7.2 什么是实体Bean 140
7.3 实体Bean的特征 142
7.3.1 实体Bean是长久存在的 142
7.3.2 实体Bean能够避免Bean失效 143
7.3.3 实体Bean实例是一个对应到数据库中的视图 143
7.3.4 几个实体Bean实例可能代表同一底层数据 143
7.3.5 实体Bean实例可以被收集再利用 144
7.3.6 保持实体Bean的两种方法 147
7.3.7 实体Bean可以被创建、删除或查询 148
7.3.8 实体Bean可以代表遗留下来的数据和系统 148
7.3.9 实体Bean可以不通过EJB被修改 149
7.4 开发和使用实体Bean 150
7.4.1 实体Bean的创建:ejbCreate() 150
7.4.2 查寻已存在的实体Bean:ejbFind() 152
7.4.3 实体Bean的删除:ejbRemove() 153
7.5 实体上下文 154
7.5.1 getEJBObject() 155
7.5.2 getPrimaryKey() 155
7.6 实体Bean的生存周期 156
7.7 小结 158
第8章 编写Bean管理的持久实体Bean 159
8.1 实现Bean管理持久的指导方针 159
8.2 Bean管理持久的范例:一个银行账户 161
8.2.1 Account.java 161
8.2.2 AccountHome.java 162
8.2.3 AccountPK.java 163
8.2.4 AccountBean.java 164
8.2.5 AccountException.java 175
8.2.6 Client.java 176
8.2.7 部署描述 178
8.2.8 环境属性 179
8.2.9 建立数据库 179
8.3 运行客户端程序 179
8.3.1 服务器端的输出 180
8.3.2 客户端的输出 181
8.4 小结 181
第9章 编写容器管理的持久实体Bean 183
9.1 容器管理的域 183
9.2 主键类 184
9.3 实现容器管理持久的指导方针 184
9.4 容器管理持久的范例:产品系列 186
9.4.1 Product.java 187
9.4.2 ProductHome.java 187
9.4.4 ProductBean.java 189
9.4.3 ProductPK.java 189
9.4.5 Client.java 193
9.4.6 部署描述 195
9.5 运行客户端程序 196
9.5.1 服务器端的输出 196
9.5.2 客户端的输出 198
9.6 承诺和现实:Bean管理的持久与容器管理的持久 198
9.6.1 承诺:容器管理的持久会减少代码量 198
9.6.2 承诺:容器管理的持久会减少错误 199
9.6.3 承诺:容器管理的持久使连接到不同的数据库变得容易 199
9.7 解决EJB调试问题 200
9.8 小结 201
第三篇 EJB的高级概念 205
第10章 事务 205
10.1 事务产生的动机 205
10.1.1 原子操作 205
10.1.2 网络故障或机器故障 206
10.1.3 多用户共享数据 207
10.2 事务所带来的益处 208
10.3 事务的模型 210
10.3.1 平面式事务模型 210
10.3.2 嵌套式事务模型 211
10.3.3 其他事务模型 212
10.4 事务在EJB组件中的应用 212
10.4.1 事务模型的支持 213
10.4.2 后台事务系统的提取 213
10.4.3 声明型事务和编程型事务 213
10.4.4 控制EJB组件加入事务的方式 215
10.4.5 EJB事务的属性值 215
10.5 事务的隔离 218
10.5.1 并发控制的需求 218
10.5.2 隔离性与EJB 220
10.5.3 不当读取问题 221
10.5.4 不可重复读取问题 222
10.5.5 幻影读取问题 223
10.5.6 事务隔离性的总结 224
10.6 分布式事务 224
10.6.1 稳定性和两阶段提交协议 224
10.6.2 事务的通信协议和事务上下文 225
10.7 EJB中的编程型事务 226
10.7.1 CORBA的对象事务处理服务 226
10.7.2 Java事务处理服务 227
10.7.3 Java事务处理API 227
10.7.4 声明型事务和编程型事务的应用范例比较 229
10.7.5 如何使用客户代码控制事务 230
10.8 在EJB中设计事务会话 231
10.9 小结 233
11.1 何谓CORBA 235
第11章 CORBA和RMI-IIOP 235
11.2 我们为何要关心CORBA 236
11.2.1 CORBA的优点 236
11.2.2 CORBA的缺点 237
11.3 理解CORBA是如何工作的 237
11.3.1 对象请求代理程序 237
11.3.2 对象实现和对象引用 238
11.3.3 对象适配器 239
11.3.3 存储器 240
11.4 OMG的接口语言 240
11.4.1 将OMG IDL映射成具体的语言 242
11.4.2 静态调用 242
11.4.3 动态调用 243
11.5.2 事件服务 244
11.5.3 对象事务服务 244
11.5 CORBA提供的众多服务 244
11.5.1 命名服务 244
11.5.4 并发控制服务 245
11.5.5 安全服务 245
11.5.6 CORBA组件 245
11.6 基于IIOP的RMI 245
11.6.1 RMI- CORBA协同工作的需求 246
11.6.2 RMI与CORBA的结合 247
11.6.3 基于IIOP的RMI的优点 248
11.6.4 RMI与IIOP结合所带来的问题 250
11.7 RMI与CORBA的协同工作综述 252
11.7.1 带有CORBA对象实现的RMI-IIOP客户 252
11.7.2 带有RMI-IIOP对象实现的CORBA客户 253
11.8 RMI-IIOP API 254
11.8.1 javax.rmi 255
11.8.2 基于IIOP的RMI的引导 256
11.9 理想的蓝图:CORBA与EJB的结合 257
11.9.1 CORBA/EJB协同工作的优点 257
11.9.2 CORBA/EJB协同工作的情景 258
11.9.3 范例代码 259
11.9.4 CORBA EJB客户范例 261
11.10 小结 263
第四篇 一个复杂的电子商务部署 267
第12章 设计一个电子商务对象模型 267
12.1 最终产品的预览 267
12.2 技术需求 269
12.2.1 商务逻辑层的对象模型 269
12.2.2 表达层的对象模型 273
12.3 小结 276
第13章 实现电子商务实体Bean 277
13.1 顾客实体Bean 277
13.1.1 Customer.java 278
13.1.2 CustomerBean.java 278
13.1.3 CustomerHome.java 283
13.1.4 CustomerPK.java 284
13.1.5 部署描述 285
13.2 订单条目实体Bean 287
13.2.1 OrderLineItem.java 287
13.2.2 OrderLineItemBean.java 288
13.2.3 处理实体Bean引用 294
13.2.4 OrderLineItemHome.java 296
13.2.5 OrderLineItemPK.java 297
13.2.6 部署描述 298
13.3.1 Order.java 299
13.3 订单实体Bean 299
13.3.2 OrderBean.java 300
13.3.3 OrderHome.java 307
13.3.4 OrderPK.java 308
13.3.5 OrderException.java 309
13.3.6 部署描述 309
13.4 小结 310
第14章 实现电子商务会话Bean 311
14.1 购物篮条目状态会话Bean 312
14.1.1 QuoteLineItem.java 312
14.1.2 QuoteLineItemBean.java 313
14.1.3 QuoteLineItemHome.java 317
14.1.4 部署描述 318
14.2 购物篮状态会话Bean 318
14.2.1 Quote.java 319
14.2.2 QuoteBean.java 321
14.2.3 QuoteHome.java 332
14.2.4 QuoteException.java 333
14.2.5 部署描述 334
14.3 无状态计价会话Bean 334
14.3.1 Pricer.java 335
14.3.2 PricerBean.java 335
14.3.3 PricerHome.java 340
14.3.4 PricerException.java 341
14.3.5 部署描述 342
14.4 无状态银行出纳员会话Bean 343
14.4.1 Teller.java 343
14.4.2 TellerHome.java 345
14.4.3 TellerBean.java 346
14.4.4 TellerException.java 353
14.5 小结 354
14.4.5 部署描述 354
第15章 将Servlet连接到EJB 355
15.1 Servlet在EJB部署中的角色 355
15.2 实现Servlet 356
15.3 Web店面Servlet 364
15.4 在线目录Servlet 367
15.5 商品概况Servlet 372
15.6 商品详情Servlet 375
15.7 购物篮查看Servlet 378
15.8 购买Servlet 387
15.8 Servlet属性 393
15.9 运行完整的电子商务系统 394
15.9.1 启动商务逻辑层 394
15.9.2 启动表达层 394
15.10.1 生成惟一的主键 395
15.10 优化及设计策略 395
15.9.3 启动瘦客户 395
15.10.2 减少网络往返路程:消极调用Bean 397
15.10.3 标识实体Bean的同步需求 397
15.10.4 实体Bean与会话Bean的设计 398
15.10.5 设计精巧的和设计粗糙的实体Bean 398
15.10.6 查找大量的实体Bean 399
15.11 小结 399
附录 403
附录A 理解Java远程方法调用 403
A.1 远程方法调用 403
A.2 RMI体系结构 406
A.2.1 RMI和接口与实现 406
A.2.2 根程序和程序框架 406
A.2.3 根连接和RMI注册 407
A.2.4 RMI URL 408
A.3 RMIC——RMI编译器 409
A.2.5 查找远程对象 409
A.4 对象序列化和参数传递 410
A.4.1 值传递 410
A.4.2 对象序列化 410
A.4.3 对象是怎样序列化的 411
A.4.4 怎样标记暂态 412
A.4.5 使用对象序列化 412
A.4.6 RMI怎样模拟通过引用传递参数 413
A.4.7 输出远程对象 415
A.5 一个简单的例子 415
A.5.1 IFlip接口 416
A.5.2 Flip类 416
A.5.3 客户 418
A.5.5 运行该程序 420
A.5.4 编译这个程序 420
A.6 处理远程异常 421
A.6.1 RMI远程异常的限制 422
A.6.2 RMI技巧 422
A.7 高级RMI 423
A.7.2 RMI例子:用于分布式记录的消息队列 423
A.7.3 RMI例子:开发分布式垃圾收集器 440
A.8 RMI、CORBA和EJB 443
A.9 RMI和EJB 443
A.9.1 EJB对象 443
A.9.2 本地对象 444
A.10 小结 445
附录B 了解Java命名和目录接口JNDI 447
B.1 命名和目录服务器 447
B.2 进入JNDI 449
B.3.1 JNDI的结构体系 450
B.3 JNDI概述 450
B.3.2 现有的服务技术类型 451
B.4 了解JNDI程序背后的概念 454
B.5 JNDI的程序设计 458
B.5.1 安装必需的软件 458
B.5.2 JNDI包 458
B.5.3 探索Javax.naming包 460
B.5.4 实例:一个交互式浏览器 461
B.6 高级JNDI:JNDI与JDBC的结合 473
B.7 高级JNDI:JNDI和EJB相结合 479
B.7.1 JNDI和EJB主对象 480
B.7.2 JNDI的其他用途 481
B.8 高级JNDI:连接JNDI和Java RMI 482
B.8.2 Flip.java 483
B.8.1 IFlip.java 483
B.8.3 FlipClient.java 486
B.8.4 运行这个例子 488
B.9 小结 489
附录C 了解XML 491
C.1 XML的商业需要 491
C.1.1 电子商务 491
C.1.2 现有技术的不足 492
C.2 XML 493
C.2.1 XML的优点 494
C.2.2 XML和EDI的比较 495
C.2.3 XML和SGML的比较 495
C.2.4 XML和HTML的比较 495
C.3 XML的概念 496
C.3.1 Prolog 496
C.3.2 XML元素 497
C.3.3 XML实体 498
C.3.4 CDATA片段 499
C.3.5 格式正确的文档 499
C.3.6 XML DTD 500
C.3.7 XML小结 503
C.4 XML和EJB 504
C.4.1 EJB部署描述 504
C.4.2 作为在线数据格式的XML 505
C.5 小结 506
附录D 了解EJB1.1 507
D.1 可移植的部署描述 507
D.1.1 Ejb-Jar文件的部署描述 507
D.1.2 EJB 1.1XML部署描述的例子 507
D.3 RMI-IIOP API标准 511
D.2 实体Bean的授权支持 511
D.4 JNDI的各个方面 512
C.4.1 如何从客户代码中查找主对象 512
C.4.2 如何从Bean中查找主对象 513
C.4.3 如何查找资源工厂 516
C.4.4 如何查询环境属性 519
C.4.5 如何查找JTA UserTransaction接口 520
D.5 正确的Bean引用 521
D.5.1 钝化和活化的提高 521
D.5.2 持久性的改进 522
D.6 事务处理程序的阐明和提高 524
D.6.1 实体Bean必须使用容器管理的事务处理 524
D.6.2 陈述性事务处理程序的变化 524
D.7 安全更新 526
D.7.1 安全上下文传递的变化 526
D.7.3 在EJB 1.1系统中加入程序性的安全措施步骤 527
D.7.2 Java 2的安全模式 527
D.7.4 在EJB 1.1系统中加入说明性的安全措施步骤 531
D.8 新的主句柄 533
D.9 EJB 1.1里的其他重要变化 534
D.10 更多的信息 535
D.11 EJB 1.1以后的发展 535
D.12 小结 536
附录E 购买EJB产品 537
E.1 符号EJB规范 537
E.2 支持实体Bean 538
E.3 持久性 538
E.3.1 Bean自己管理的持久性 538
E.3.2 容器管理持久性 539
E.4 选择基于CORBA与RMI的EJB产品 539
E.5 RMI-IIOP API的使用 539
E.8 集成层次的支持 540
E.6 经JNDI的JTA可存取性 540
E.7 协议问题 540
E.9 内存数据的高速缓存 541
E.10 可测量性 541
E.11 高度的实用性 541
E.12 安全性 541
E.13 IDE集成 542
E.14 智能负荷平衡 542
E.15 无状态的透明的结束出错 542
E.16 分组 543
E.17 合理地关机 543
E.18 实时部署 543
E.19 分布式事务处理 543
E.23 专业化的服务 544
E.22 具有Bean厂家的集成 544
E.21 异步通信的支持 544
E.20 现有企业系统的集成 544
E.24 非技术标准 545
E.25 小结 545
附录F EJB快速索引向导 547
F.1 会话Bean的图表 547
F.2 状态会话Bean的图表 548
F.3 实体Bean的图表 550
F.4 EJB API索引 554
F.4.1 CreateException 554
F.4.2 DuplicateKeyException 554
F.4.3 EJBContext 554
F.4.4 EJBException 556
F.4.5 EJBHome 556
F.4.6 EJBMetaData 557
F.4.7 EJBObject 558
F.4.8 EnterpriseBean 558
F.4.9 EntityBean 559
F.4.10 EntityContext 561
F.4.11 FinderException 561
F.4.12 Handle 561
F.4.13 HomeHandle 562
F.4.14 NoSuchEntityException 562
F.4.15 ObjectNotFoundException 562
F.4.16 RemoveException 563
F.4.17 SessionBean 563
F.4.18 SessionContext 564
F.4.19 SessionSynchronization 564
F.5 事务索引 565
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《新手养花从入门到精通》徐帮学编 2019
- 《C语言从入门到精通》王征,李晓波著 2020
- 《可爱Q版技法从入门到精通》石头编著 2019
- 《WPS Office办公应用从入门到精通》IT新时代教育 2018
- 《行政管理实操从入门到精通》任康磊著 2020
- 《C#从入门到精通 第5版》(中国)明日科技 2019
- 《VRay渲染器及项目实战从入门到精通》沙旭,徐虹,乐美青编著 2019
- 《AutoCAD 2020从入门到精通 中文版》CADCAMCAE技术联盟 2019
- 《UGNX12入门、精通与实战 中文版》周敏 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017