扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

Java EE 7权威指南:卷2(原书第5版)

综合评级:
★★★★★

定价:
¥99.00

作者:
(美)珍兆科 等著,苏金国 等译

出版社:
机械工业出版社

出版日期:
2015年5月

页数:
469

ISBN:
9787111497110

书籍介绍

  伴随着Java EE的发展脚步,从2001年《The J2EE Tutorial》第1版问世,到本书与大家见面,已走过了十余年的演进历程,其间多次改版,一直畅销不衰。

  《Java EE 7权威指南·卷2(原书第5版)》分为七部分,共30章。第一部分(第1~2章)介绍Java EE企业应用开发的相关概念和技术,以及安装、构建和支持本书示例需要了解的所有知识;第二部分(第3~7章)研究企业JavaBeans组件,从EJB入门开始,介绍如何开发、部署和运行Java EE应用示例,如何使用嵌入式企业bean容器在Java SE环境中而不是Java EE服务器中运行,如何在会话bean中实现异步业务方法,以及如何从企业bean客户端调用这些方法;第三部分(第8~15章)讲解Java持久化API,包括Java持久化API简介、如何使用Java 持久化示例、Java持久化查询语言、使用Criteria API创建查询、创建和使用基于字符串的Criteria查询、使用锁定控制对实体数据的并发访问、用实体图创建获取计划、对Java持久化API应用使用二级缓存等内容;第四部分(第16~17章)介绍消息传送,包括Java消息服务概念和示例;第五部分(第18~21章)讲解安全概念和示例,从介绍一些基本的安全概念和安全机制开始,解释如何为Web组件和Java EE组件增加安全性,之后介绍一些Java EE安全的高级主题;第六部分(第22~27章)研究Java EE平台的多种支持技术,包括事务、资源适配器和契约、使用Java EE拦截器、批处理和Java EE的并发工具;第七部分(第28~30章)提供一些使用多种Java EE技术的案例研究,包括Duke书店案例、Duke辅导案例和Duke综合案例研究示例。

  《Java EE 7权威指南·卷2(原书第5版)》是一个面向任务的实用指南,通过一系列实用示例介绍如何开发Java EE 7(Java平台企业版7)企业应用,由Oracle的Java EE文档小组成员倾力撰写,能够帮助初学者和中级Java程序员深入了解这个平台。

  本书包括平台特性的全面描述,并提供使用最新版本NetBeans IDE和GlassFish服务器开源版的有关说明。书中介绍了EJB组件、Java持久化API、Java消息服务(JMS)API、Java EE安全、事务、资源适配器、Java EE拦截器、Java平台批处理应用以及Java EE并发工具。本书最后提供了3个案例研究,展示了如何综合使用多个Java EE 7 API。

目录

译者序

前言

第一部分引言

第1章概述

1.1javaEE7平台新增特性

1.2JavaEE应用模型

1.3分布式多层应用

1.3.1安全

1.3.2JavaEE组件

1.3.3JavaEE客户端

1.3.4Web组件

1.3.5业务组件

1.3.6企业信息系统层

1.4JavaEE容器

1.4.1容器服务

1.4.2容器类型

1.5Web服务支持

1.5.1XML

1.5.2SOAP传输协议

1.5.3WSDL标准格式

1.6JavaEE应用装配与部署

1.7开发角色

1.7.1JavaEE产品提供商

1.7.2工具提供商

1.7.3应用组件提供商

1.7.4应用装配人员

1.7.5应用部署人员和管理员

1.8JavaEE7API

1.8.1EJB技术

1.8.2Javaservlet技术

1.8.3JSF技术

1.8.4JSP技术

1.8.5JSP标准标记库

1.8.6Java持久化API

1.8.7Java事务API

1.8.8RESTfulWeb服务JavaAPI

1.8.9托管bean

1.8.10JavaEE的上下文和依赖注入

1.8.11Java的依赖注入

1.8.12bean验证

1.8.13Java消息服务API

1.8.14JavaEE连接器架构

1.8.15JavaMailAPI

1.8.16Java容器授权契约

1.8.17Java容器认证服务提供者接口

1.8.18WebSocketJavaAPI

1.8.19JSON处理JavaAPI

1.8.20JavaEE的并发工具

1.8.21Java平台的批处理应用

1.9Java平台标准版7的JavaEE7API

1.9.1Java数据库互连API

1.9.2Java命名和目录接口API

1.9.3JavaBeans激活框架

1.9.4XML处理JavaAPI

1.9.5JavaXML绑定架构

1.9.6XMLWeb服务Java-API

1.9.7带附件SOAPJavaAPI

1.9.8Java认证和授权服务

1.9.9Java平台的公共注解

1.10GlassFish服务器工具

 

第2章使用教程示例

2.1必要软件

2.1.1JavaEE7软件开发包

2.1.2Java平台标准版

2.1.3JavaEE7教程组件

2.1.4NetBeansIDE

2.1.5ApacheMaven

2.2启动和停止GlassFish服务器

2.2.1使用NetBeansIDE启动GlassFish服务器

2.2.2使用NetBeansIDE停止GlassFish服务器

2.2.3使用命令行启动GlassFish服务器

2.2.4使用命令行停止GlassFish服务器

2.3启动管理控制台

2.3.1使用NetBeansIDE启动管理控制台

2.4启动和停止JavaDB服务器

2.4.1使用NetBeansIDE启动数据库服务器

2.5构建示例

2.6教程示例目录结构

2.7教程中的JavaEE7Maven原型

2.7.1安装教程Maven原型

2.8获取教程最新更新

2.8.1使用NetBeansIDE更新教程

2.8.2使用命令行更新教程

2.9调试JavaEE应用

2.9.1使用服务器日志

2.9.2使用调试器

 

第二部分企业bean

第3章企业bean

3.1什么是企业bean

3.1.1企业bean的好处

3.1.2何时使用企业bean

3.1.3企业bean类型

3.2什么是会话bean

3.2.1会话bean类型

3.2.2何时使用会话bean

3.3什么是消息驱动bean

3.3.1消息驱动bean与会话bean的区别

3.3.2何时使用消息驱动bean

3.4访问企业bean

3.4.1在客户端使用企业bean

3.4.2确定远程或本地访问

3.4.3本地客户端

3.4.4远程客户端

3.4.5Web服务客户端

3.4.6方法参数和访问

3.5企业bean的内容

3.6企业bean的命名约定

3.7企业bean的生命周期

3.7.1有状态会话bean的生命周期

3.7.2无状态会话bean的生命周期

3.7.3单例会话bean的生命周期

3.7.4消息驱动bean的生命周期

3.8有关企业bean的更多信息

 

第4章企业bean入门

4.1创建企业bean

4.1.1编写企业bean类

4.1.2创建converterWeb客户端

4.1.3运行converter示例

4.2修改JavaEE应用

4.2.1修改类文件

 

第5章运行企业bean示例

5.1cart示例

5.1.1业务接口

5.1.2会话bean类

5.1.3@Remove方法

5.1.4辅助类

5.1.5运行cart示例

5.2一个单例会话bean示例:counter

5.2.1创建一个单例会话bean

5.2.2counter示例的架构

5.2.3运行counter示例

5.3一个Web服务示例:helloservice

5.3.1Web服务端点实现类

5.3.2无状态会话bean实现类

5.3.3运行helloservice示例

5.4使用定时器服务

5.4.1创建基于日历的定时器表达式

5.4.2编程定时器

5.4.3自动定时器

5.4.4取消和保存定时器

5.4.5获得定时器信息

5.4.6事务和定时器

5.4.7timersession示例

5.4.8运行timersession示例

5.5处理异常

 

第6章使用嵌入式企业bean容器

6.1嵌入式企业bean容器概述

6.2开发嵌入式企业bean应用

6.2.1运行嵌入式应用

6.2.2创建企业bean容器

6.2.3查找会话bean引用

6.2.4关闭企业bean容器

6.3standalone示例应用

6.3.1使用NetBeansIDE运行standalone示例应用

6.3.2使用Maven运行standalone示例应用

 

第7章在会话bean中使用异步方法调用

7.1异步方法调用

7.1.1创建异步业务方法

7.1.2从企业bean客户端调用异步方法

7.2async示例应用

7.2.1async-war模块的架构

7.2.2运行async示例

 

第三部分持久化

第8章Java持久化API介绍

8.1实体

8.1.1实体类的需求

8.1.2实体类中的持久化字段和属性

8.1.3实体的主键

8.1.4实体关系中的多重性

8.1.5实体关系中的方向

8.1.6实体中的可嵌入类

8.2实体继承

8.2.1抽象实体

8.2.2映射超类

8.2.3非实体超类

8.2.4实体继承映射策略

8.3管理实体

8.3.1EntityManager接口

8.3.2持久化单元

8.4查询实体

8.5数据库模式创建

8.5.1配置应用以创建或删除数据库表

8.5.2使用SQL脚本加载数据

8.6有关持久化的更多信息

 

第9章运行持久化示例

9.1order应用

9.1.1order应用中的实体关系

9.1.2order应用中的主键

9.1.3实体映射到多个数据库表

9.1.4order应用中的层叠操作

9.1.5order应用中的BLOB和CLOB数据库类型

9.1.6order应用中的时态类型

9.1.7管理order应用的实体

9.1.8运行order示例

9.2roster应用

9.2.1roster应用中的关系

9.2.2roster应用中的实体继承

9.2.3roster应用中的Criteria查询

9.2.4roster应用中的自动表生成

9.2.5运行roster示例

9.3address-book应用

9.3.1address-book中的bean验证约束

9.3.2在address-book中为约束指定错误消息

9.3.3验证JSF应用的联系信息输入

9.3.4运行address-book示例

 

第10章Java持久化查询语言

10.1查询语言术语

10.2使用Java持久化查询语言创建查询

10.2.1查询中的命名参数

10.2.2查询中的位置参数

10.3简化的查询语言语法

10.3.1选择语句

10.3.2更新和删除语句

10.4示例查询

10.4.1简单查询

10.4.2导航到相关实体的查询

10.4.3包含其他条件表达式的查询

10.4.4批处理更新和删除

10.5完整的查询语言语法

10.5.1BNF符号

10.5.2Java持久化查询语言的BNF文法

10.5.3FROM子句

10.5.4路径表达式

10.5.5WHERE子句

10.5.6SELECT子句

10.5.7ORDERBY子句

10.5.8GROUPBY和HAVING子句

 

第11章使用CriteriaAPI创建查询

11.1Criteria和MetamodelAPI概述

11.2使用MetamodelAPI为实体类建模

11.2.1使用元模型类

11.3使用CriteriaAPI和MetamodelAPI创建基本的类型安全查询

11.3.1创建Criteria查询

11.3.2查询根

11.3.3使用联接查询关系

11.3.4Criteria查询中的路径导航

11.3.5限制Criteria查询结果

11.3.6管理Criteria查询结果

11.3.7执行查询

 

第12章创建和使用基于字符串的Criteria查询

12.1基于字符串的CriteriaAPI查询概述

12.2创建基于字符串的查询

12.3执行基于字符串的查询

 

第13章使用锁定控制对实体数据的并发访问

13.1实体锁定和并发概述

13.1.1使用乐观锁定

13.2锁模式

13.2.1设置锁模式

13.2.2使用悲观锁定

 

第14章用实体图创建获取计划

14.1实体图基础

14.1.1默认实体图

14.1.2在持久化操作中使用实体图

14.2使用命名实体图

14.2.1对实体类应用命名实体图注解

14.2.2从命名实体图获得EntityGraph实例

14.3在查询操作中使用实体图

 

第15章对Java持久化API应用使用二级缓存

15.1二级缓存概述

15.1.1控制实体是否可以缓存

15.2指定缓存模式设置来提高性能

15.2.1设置缓存获取和存储模式

15.2.2通过编程方式控制二级缓存

 

第四部分消息传送

第16章Java消息服务概念

16.1JMSAPI概述

16.1.1什么是消息传送

16.1.2什么是JMSAPI

16.1.3何时使用JMSAPI

16.1.4JavaEE平台如何使用JMSAPI

16.2基本JMSAPI概念

16.2.1JMSAPI架构

16.2.2消息传送方式

16.2.3消息使用

16.3JMSAPI编程模型

16.3.1JMS受管理对象

16.3.2连接

16.3.3会话

16.3.4JMSContext对象

16.3.5JMS消息生产者

16.3.6JMS消息消费者

16.3.7JMS消息

16.3.8JMS队列浏览器

16.3.9JMS异常处理

16.4使用高级JMS特性

16.4.1控制消息确认

16.4.2为发送消息指定选项

16.4.3创建临时目的地

16.4.4使用JMS本地事务

16.4.5异步发送消息

16.5在JavaEE应用中使用JMSAPI

16.5.1为JavaEE应用创建资源

16.5.2在企业bean或Web组件中使用资源注入

16.5.3使用JavaEE组件生成和同步接收消息

16.5.4使用消息驱动bean异步接收消息

16.5.5管理JTA事务

16.6关于JMS的更多信息

 

第17章Java消息服务示例

17.1JMS示例概述

17.2编写简单的JMS应用

17.2.1启动JMS提供者

17.2.2创建JMS受管理对象

17.2.3构建所有简单示例

17.2.4发送消息

17.2.5同步接收消息

17.2.6使用消息监听器完成异步消息传送

17.2.7浏览队列中的消息

17.2.8在同一个目的地运行多个消费者

17.2.9确认消息

17.3编写更高级的JMS应用

17.3.1使用持久订阅

17.3.2使用本地事务

17.4编写高性能和可扩展的JMS应用

17.4.1使用共享非持久订阅

17.4.2使用共享持久订阅

17.5使用一个简单Web应用发送和接收消息

17.5.1websimplemessageFacelets页面

17.5.2websimplemessage托管bean

17.5.3运行websimplemessage示例

17.6使用消息驱动bean异步接收消息

17.6.1simplemessage示例概述

17.6.2simplemessage应用客户端

17.6.3simplemessage消息驱动bean类

17.6.4运行simplemessage示例

17.7从会话bean向MDB发送消息

17.7.1为clientsessionmdb示例编写应用组件

17.7.2运行clientsessionmdb示例

17.8使用实体联接两个MDB的消息

17.8.1clientmdbentity示例应用概述

17.8.2为clientmdbentity示例编写应用组件

17.8.3运行clientmdbentity示例

17.9使用NetBeansIDE创建JMS资源

17.9.1使用NetBeansIDE创建JMS资源

17.9.2使用NetBeansIDE删除JMS资源

 

第五部分安全

第18章JavaEE平台安全介绍

18.1JavaEE安全概述

18.1.1简单的应用安全演示

18.1.2安全机制特性

18.1.3应用安全特点

18.2安全机制

18.2.1JavaSE安全机制

18.2.2JavaEE安全机制

18.3保护容器安全

18.3.1使用注解指定安全信息

18.3.2使用部署描述文件提供声明式安全

18.3.3使用编程式安全

18.4保护GlassFish服务器安全

18.5使用安全域、用户、组和角色

18.5.1什么是安全域、用户、组和角色

18.5.2在GlassFish服务器中管理用户和组

18.5.3建立安全角色

18.5.4角色映射到用户和组

18.6使用SSL建立安全连接

18.6.1验证和配置SSL支持

18.7有关安全的更多信息

 

第19章Web应用安全入门

19.1Web应用安全概述

19.2保护Web应用安全

19.2.1指定安全约束

19.2.2指定认证机制

19.2.3在部署描述文件中指定认证机制

19.2.4声明安全角色

19.3Web应用使用编程式安全

19.3.1通过编程方式认证用户

19.3.2通过编程方式检查调用者身份

19.3.3编程式安全的示例代码

19.3.4声明和链接角色引用

19.4示例:保护Web应用安全

19.4.1设置系统来运行安全示例

19.4.2hello2-basicauth示例:对servlet使用基本认证

19.4.3hello1-formauth示例:对JSF应用使用基于表单的认证

 

第20章企业应用安全入门

20.1企业应用的基本安全任务

20.2保护企业bean安全

20.2.1使用声明式安全保护企业bean安全

20.2.2通过编程方式保护企业bean安全

20.2.3传播安全身份(Run-As)

20.2.4部署安全企业bean

20.3示例:保护企业bean安全

20.3.1cart-secure示例:使用声明式安全保护企业bean安全

20.3.2converter-secure示例:使用编程式安全保护企业bean安全

 

第21章JavaEE安全:高级主题

21.1使用数字证书

21.1.1创建服务器证书

21.1.2向证书安全域增加用户

21.1.3为GlassFish服务器使用一个不同的服务器证书

21.2认证机制

21.2.1客户端认证

21.2.2相互认证

21.3使用JDBC安全域完成用户认证

21.3.1配置JDBC认证安全域

21.4保护HTTP资源安全

21.5保护应用客户端安全

21.5.1使用登录模块

21.5.2使用编程式登录

21.6保护企业信息系统应用安全

21.6.1容器托管登录

21.6.2组件托管登录

21.6.3配置资源适配器安全

21.6.4将应用主体映射到EIS主体

21.7使用部署描述文件配置安全

21.7.1在部署描述文件中指定基本认证安全

21.7.2在部署描述文件中指定非默认主体-角色映射

21.8关于高级安全主题的更多信息

 

第六部分JavaEE支持技术

第22章事务

22.1JavaEE应用中的事务

22.2什么是事务

22.3容器托管事务

22.3.1事务属性

22.3.2回滚容器托管事务

22.3.3同步会话bean的实例变量

22.3.4容器托管事务中不允许的方法

22.4bean托管事务

22.4.1JTA事务

22.4.2不提交返回

22.4.3bean托管事务中不允许的方法

22.5事务超时

22.5.1设置事务超时

22.6更新多个数据库

22.7Web组件中的事务

22.8关于事务的更多信息

 

第23章资源适配器和契约

23.1什么是资源适配器

23.1.1管理契约

23.1.2通用工作上下文契约

23.1.3出站和入站契约

23.2元数据注解

23.3公共客户端接口

23.4对JavaEE上下文和依赖注入(CDI)使用资源适配器

23.5关于资源适配器的更多信息

 

第24章资源适配器示例

24.1trading示例

24.1.1使用出站资源适配器

24.1.2实现出站资源适配器

24.1.3运行trading示例

24.2traffic示例

24.2.1使用入站资源适配器

24.2.2实现入站资源适配器

24.2.3运行traffic示例

 

第25章使用JavaEE拦截器

25.1拦截器概述

25.1.1拦截器类

25.1.2拦截器生命周期

25.1.3拦截器和CDI

25.2使用拦截器

25.2.1拦截方法调用

25.2.2拦截生命周期回调事件

25.2.3拦截超时事件

25.2.4为组件绑定拦截器

25.2.5拦截器排序

25.3interceptor示例应用

25.3.1运行interceptor示例

 

第26章批处理

26.1批处理介绍

26.1.1批处理作业中的步骤

26.1.2并行处理

26.1.3状态和判定元素

26.1.4批处理框架功能

26.2JavaEE中的批处理

26.2.1批处理框架

26.2.2创建批处理应用

26.2.3批处理作业的元素

26.2.4属性和参数

26.2.5作业实例和作业执行

26.2.6批处理和退出状态

26.3简单用例

26.3.1块步骤

26.3.2任务步骤

26.4使用作业规范语言

26.4.1job元素

26.4.2step元素

26.4.3flow元素

26.4.4split元素

26.4.5decision元素

26.5创建批处理工件

26.5.1批处理工件接口

26.5.2批处理工件中的依赖注入

26.5.3从批处理运行时环境使用上下文对象

26.6向批处理运行时环境提交作业

26.6.1开始作业

26.6.2检查作业的状态

26.6.3在应用中调用批处理运行时环境

26.7打包批处理应用

26.8webserverlog示例应用

26.8.1webserverlog示例应用架构

26.8.2运行webserverlog示例应用

26.9phonebilling示例应用

26.9.1phonebilling示例应用架构

26.9.2运行phonebilling示例应用

26.10关于批处理的更多信息

 

第27章JavaEE的并发工具

27.1并发基础

27.1.1线程和进程

27.2并发工具的主要组件

27.3并发和事务

27.4并发和安全

27.5jobs并发示例

27.5.1运行jobs示例

27.6taskcreator并发示例

27.6.1运行taskcreator示例

27.7关于并发工具的更多信息

 

第七部分案例研究

第28章Duke书店案例研究示例

28.1Duke书店的设计和架构

28.2Duke书店接口

28.2.1BookJava持久化API实体

28.2.2Duke书店中使用的企业bean

28.2.3Duke书店中使用的Facelets页面和托管bean

28.2.4Duke书店中使用的定制组件和其他定制对象

28.2.5Duke书店中使用的属性文件

28.2.6Duke书店中使用的部署描述文件

28.3运行Duke书店案例研究应用

28.3.1使用NetBeansIDE构建和部署Duke书店

28.3.2使用Maven构建和部署Duke书店

28.3.3运行Duke书店应用

 

第29章Duke辅导案例研究示例

29.1Duke辅导应用的设计和架构

29.2主界面

29.2.1主界面中使用的Java持久化API实体

29.2.2主界面中使用的企业bean

29.2.3主界面中使用的WebSocket端点

29.2.4主界面中使用的Facelets文件

29.2.5主界面中使用的辅助类

29.2.6属性文件

29.2.7Duke辅导应用中使用的部署描述文件

29.3管理界面

29.3.1管理界面中使用的企业bean

29.3.2管理界面中使用的Facelets文件

29.3.3管理界面中使用的CDI托管bean

29.3.4管理界面中使用的辅助类

29.4运行Duke辅导案例研究应用

29.4.1运行Duke辅导应用

 

第30章Duke综合案例研究示例

30.1Duke综合应用的设计和架构

30.1.1events工程

30.1.2entities工程

30.1.3dukes-payment工程

30.1.4dukes-resources工程

30.1.5Duke商店工程

30.1.6Duke货运工程

30.2构建和部署Duke综合案例研究应用

30.2.1使用NetBeansIDE构建和部署Duke综合应用

30.2.2使用Maven构建和部署Duke综合应用

30.3运行Duke综合应用

30.3.1注册为Duke商店顾客

30.3.2购买产品

30.3.3批准产品发货

30.3.4创建新产品

......