作者简介
埃里克·珍兆科(Eric Jendrock),领导着Oracle的Java EE Tutorial团队,撰写了Java安全和并发工具有关的章节。
里卡多·塞维拉 - 纳瓦罗(Ricardo Cervera-Navarro),撰写了Java平台批处理应用的有关章节,补充了资源适配器技术领域的有关内容和示例,并参与了案例研究部分的工作。
伊恩·埃文斯(Ian Evans),撰写了EJB、Java持久化API和Java事务API的有关章节。
金姆·哈泽 (Kim Haase),撰写了Java消息服务(JMS)的有关章节,并参与了案例研究部分的工作。
威廉·马基特(William Markito),曾是Oracle平台技术解决方案小组成员,创建了Duke综合案例研究以及多项其他技术的示例。
目录
译者序
前言
第一部分引言
第1章概述2
1.1Java EE 7平台新增特性3
1.2Java EE应用模型3
1.3分布式多层应用4
1.3.1安全4
1.3.2Java EE组件5
1.3.3Java EE客户端6
1.3.4Web组件7
1.3.5业务组件8
1.3.6企业信息系统层8
1.4Java EE容器9
1.4.1容器服务9
1.4.2容器类型10
1.5Web服务支持11
1.5.1XML11
1.5.2SOAP传输协议12
1.5.3WSDL标准格式12
1.6Java EE应用装配与部署12
1.7开发角色13
1.7.1Java EE产品提供商13
1.7.2工具提供商13
1.7.3应用组件提供商13
1.7.4应用装配人员14
1.7.5应用部署人员和管理员14
1.8Java EE 7 API14
1.8.1EJB技术16
1.8.2Java servlet技术17
1.8.3JSF技术18
1.8.4JSP技术18
1.8.5JSP标准标记库19
1.8.6Java持久化API19
1.8.7Java事务API19
1.8.8RESTful Web服务Java API19
1.8.9托管bean20
1.8.10Java EE 的上下文和依赖注入20
1.8.11Java的依赖注入20
1.8.12bean验证20
1.8.13Java消息服务API20
1.8.14Java EE连接器架构21
1.8.15JavaMail API21
1.8.16Java容器授权契约21
1.8.17Java容器认证服务提供者接口21
1.8.18WebSocket Java API22
1.8.19JSON处理Java API22
1.8.20Java EE的并发工具22
1.8.21Java平台的批处理应用22
1.9Java平台标准版7的Java EE 7 API23
1.9.1Java数据库互连API23
1.9.2Java命名和目录接口API23
1.9.3JavaBeans激活框架24
1.9.4XML处理Java API24
1.9.5Java XML绑定架构24
1.9.6XML Web服务Java—API24
1.9.7带附件SOAP Java API25
1.9.8Java认证和授权服务25
1.9.9Java平台的公共注解25
1.10GlassFish服务器工具25
第2章使用教程示例27
2.1必要软件27
2.1.1Java EE 7软件开发包28
2.1.2Java平台标准版28
2.1.3Java EE 7教程组件28
2.1.4NetBeans IDE29
2.1.5Apache Maven30
2.2启动和停止GlassFish服务器30
2.2.1使用NetBeans IDE启动GlassFish服务器30
2.2.2使用NetBeans IDE停止GlassFish服务器30
2.2.3使用命令行启动GlassFish服务器30
2.2.4使用命令行停止GlassFish服务器31
2.3启动管理控制台31
2.3.1使用NetBeans IDE启动管理控制台31
2.4启动和停止Java DB服务器32
2.4.1使用NetBeans IDE启动数据库服务器32
2.5构建示例32
2.6教程示例目录结构32
2.7教程中的Java EE 7 Maven原型33
2.7.1安装教程Maven原型33
2.8获取教程最新更新34
2.8.1使用NetBeans IDE更新教程34
2.8.2使用命令行更新教程34
2.9调试Java EE应用34
2.9.1使用服务器日志34
2.9.2使用调试器35
第二部分企业bean
第3章企业bean38
3.1什么是企业bean38
3.1.1企业bean的好处39
3.1.2何时使用企业bean39
3.1.3企业bean类型39
3.2什么是会话bean39
3.2.1会话bean类型40
3.2.2何时使用会话bean41
3.3什么是消息驱动bean41
3.3.1消息驱动bean与会话bean的区别41
3.3.2何时使用消息驱动bean42
3.4访问企业bean42
3.4.1在客户端使用企业bean43
3.4.2确定远程或本地访问44
3.4.3本地客户端45
3.4.4远程客户端46
3.4.5Web服务客户端47
3.4.6方法参数和访问47
3.5企业bean的内容48
3.6企业bean的命名约定48
3.7企业bean的生命周期48
3.7.1有状态会话bean的生命周期48
3.7.2无状态会话bean的生命周期49
3.7.3单例会话bean的生命周期50
3.7.4消息驱动bean的生命周期50
3.8有关企业bean的更多信息51
第4章企业bean入门52
4.1创建企业bean52
4.1.1编写企业bean类53
4.1.2创建converter Web客户端53
4.1.3运行converter示例54
4.2修改Java EE应用55
4.2.1修改类文件55
第5章运行企业bean示例56
5.1cart示例56
5.1.1业务接口57
5.1.2会话bean类57
5.1.3@Remove方法61
5.1.4辅助类61
5.1.5运行cart示例61
5.2一个单例会话bean示例:counter62
5.2.1创建一个单例会话bean63
5.2.2counter示例的架构67
5.2.3运行counter示例69
5.3一个Web服务示例:helloservice69
5.3.1Web服务端点实现类69
5.3.2无状态会话bean实现类70
5.3.3运行helloservice示例71
5.4使用定时器服务72
5.4.1创建基于日历的定时器表达式72
5.4.2编程定时器74
5.4.3自动定时器76
5.4.4取消和保存定时器76
5.4.5获得定时器信息77
5.4.6事务和定时器77
5.4.7timersession示例77
5.4.8运行timersession示例80
5.5处理异常81
第6章使用嵌入式企业bean容器82
6.1嵌入式企业bean容器概述82
6.2开发嵌入式企业bean应用82
6.2.1运行嵌入式应用83
6.2.2创建企业bean容器83
6.2.3查找会话bean引用84
6.2.4关闭企业bean容器85
6.3standalone示例应用85
6.3.1使用NetBeans IDE运行standalone示例应用86
6.3.2使用Maven运行standalone示例应用87
第7章在会话bean中使用异步方法调用88
7.1异步方法调用88
7.1.1创建异步业务方法88
7.1.2从企业bean客户端调用异步方法89
7.2async示例应用90
7.2.1async—war模块的架构91
7.2.2运行async示例92
第三部分持久化
第8章Java持久化API介绍96
8.1实体96
8.1.1实体类的需求97
8.1.2实体类中的持久化字段和属性97
8.1.3实体的主键101
8.1.4实体关系中的多重性103
8.1.5实体关系中的方向103
8.1.6实体中的可嵌入类105
8.2实体继承106
8.2.1抽象实体106
8.2.2映射超类106
8.2.3非实体超类107
8.2.4实体继承映射策略107
8.3管理实体109
8.3.1EntityManager接口109
8.3.2持久化单元113
8.4查询实体114
8.5数据库模式创建114
8.5.1配置应用以创建或删除数据库表115
8.5.2使用SQL脚本加载数据116
8.6有关持久化的更多信息116
第9章运行持久化示例118
9.1order应用118
9.1.1order应用中的实体关系119
9.1.2order应用中的主键121
9.1.3实体映射到多个数据库表125
9.1.4order应用中的层叠操作125
9.1.5order应用中的BLOB和CLOB数据库类型126
9.1.6order应用中的时态类型126
9.1.7管理order应用的实体127
9.1.8运行order示例129
9.2roster应用129
9.2.1roster应用中的关系130
9.2.2roster应用中的实体继承131
9.2.3roster应用中的Criteria查询132
9.2.4roster应用中的自动表生成134
9.2.5运行roster示例135
9.3address—book应用136
9.3.1address—book中的bean验证约束136
9.3.2在address—book中为约束指定错误消息137
9.3.3验证JSF应用的联系信息输入138
9.3.4运行address—book示例139
第10章Java持久化查询语言140
10.1查询语言术语140
10.2使用Java持久化查询语言创建查询141
10.2.1查询中的命名参数142
10.2.2查询中的位置参数142
10.3简化的查询语言语法142
10.3.1选择语句142
10.3.2更新和删除语句143
10.4示例查询143
10.4.1简单查询143
10.4.2导航到相关实体的查询144
10.4.3包含其他条件表达式的查询146
10.4.4批处理更新和删除147
10.5完整的查询语言语法148
10.5.1BNF符号148
10.5.2Java持久化查询语言的BNF文法148
10.5.3FROM子句152
10.5.4路径表达式157
10.5.5WHERE子句158
10.5.6SELECT子句165
10.5.7ORDER BY子句167
10.5.8GROUP BY和HAVING子句167
第11章使用Criteria API创建查询168
11.1Criteria和Metamodel API概述168
11.2使用Metamodel API为实体类建模170
11.2.1使用元模型类170
11.3使用Criteria API和Metamodel API创建基本的类型安全查询171
11.3.1创建Criteria查询171
11.3.2查询根172
11.3.3使用联接查询关系172
11.3.4Criteria查询中的路径导航173
11.3.5限制Criteria查询结果173
11.3.6管理Criteria查询结果175
11.3.7执行查询176
第12章创建和使用基于字符串的Criteria查询178
12.1基于字符串的Criteria API查询概述178
12.2创建基于字符串的查询178
12.3执行基于字符串的查询179
第13章使用锁定控制对实体数据的并发访问180
13.1实体锁定和并发概述180
13.1.1使用乐观锁定181
13.2锁模式181
13.2.1设置锁模式182
13.2.2使用悲观锁定183
第14章用实体图创建获取计划185
14.1实体图基础185
14.1.1默认实体图186
14.1.2在持久化操作中使用实体图186
14.2使用命名实体图187
14.2.1对实体类应用命名实体图注解187
14.2.2从命名实体图获得EntityGraph实例188
14.3在查询操作中使用实体图189
第15章对Java持久化API应用使用二级缓存190
15.1二级缓存概述190
15.1.1控制实体是否可以缓存191
15.2指定缓存模式设置来提高性能192
15.2.1设置缓存获取和存储模式192
15.2.2通过编程方式控制二级缓存194
第四部分消息传送
第16章Java消息服务概念198
16.1JMS API概述198
16.1.1什么是消息传送198
16.1.2什么是JMS API199
16.1.3何时使用JMS API199
16.1.4Java EE平台如何使用JMS API200
16.2基本JMS API概念201
16.2.1JMS API架构201
16.2.2消息传送方式201
16.2.3消息使用203
16.3JMS API编程模型204
16.3.1JMS受管理对象205
16.3.2连接206
16.3.3会话206
16.3.4JMSContext对象207
16.3.5JMS消息生产者208
16.3.6JMS消息消费者208
16.3.7JMS消息213
16.3.8JMS队列浏览器215
以下为对购买帮助不大的评价