Java EE 7权威指南:卷2

Java EE 7权威指南:卷2 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:埃里克·珍兆科 (Eric Jendrock)
出品人:
页数:469
译者:
出版时间:2015-5-1
价格:99.00元
装帧:平装
isbn号码:9787111497110
丛书系列:Java核心技术系列
图书标签:
  • Java
  • java
  • ee
  • JavaEE
  • J2EE
  • Buy
  • Java EE 7
  • Java EE
  • 企业级开发
  • J2EE
  • Servlet
  • JSP
  • EJB
  • Web Services
  • RESTful
  • 持久化
  • 事务处理
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

伴随着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。

作者简介

埃里克·珍兆科(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.1 Java EE 7平台新增特性 3
1.2 Java EE应用模型 3
1.3 分布式多层应用 4
1.3.1 安全 4
1.3.2 Java EE组件 5
1.3.3 Java EE客户端 6
1.3.4 Web组件 7
1.3.5 业务组件 8
1.3.6 企业信息系统层 8
1.4 Java EE容器 9
1.4.1 容器服务 9
1.4.2 容器类型 10
1.5 Web服务支持 11
1.5.1 XML 11
1.5.2 SOAP传输协议 12
1.5.3 WSDL标准格式 12
1.6 Java EE应用装配与部署 12
1.7 开发角色 13
1.7.1 Java EE产品提供商 13
1.7.2 工具提供商 13
1.7.3 应用组件提供商 13
1.7.4 应用装配人员 14
1.7.5 应用部署人员和管理员 14
1.8 Java EE 7 API 14
1.8.1 EJB技术 16
1.8.2 Java servlet技术 17
1.8.3 JSF技术 18
1.8.4 JSP技术 18
1.8.5 JSP标准标记库 19
1.8.6 Java持久化API 19
1.8.7 Java事务API 19
1.8.8 RESTful Web服务Java API 19
1.8.9 托管bean 20
1.8.10 Java EE 的上下文和依赖注入 20
1.8.11 Java的依赖注入 20
1.8.12 bean验证 20
1.8.13 Java消息服务API 20
1.8.14 Java EE连接器架构 21
1.8.15 JavaMail API 21
1.8.16 Java容器授权契约 21
1.8.17 Java容器认证服务提供者接口 21
1.8.18 WebSocket Java API 22
1.8.19 JSON处理Java API 22
1.8.20 Java EE的并发工具 22
1.8.21 Java平台的批处理应用 22
1.9 Java平台标准版7的Java EE 7 API 23
1.9.1 Java数据库互连API 23
1.9.2 Java命名和目录接口API 23
1.9.3 JavaBeans激活框架 24
1.9.4 XML处理Java API 24
1.9.5 Java XML绑定架构 24
1.9.6 XML Web服务Java-API 24
1.9.7 带附件SOAP Java API 25
1.9.8 Java认证和授权服务 25
1.9.9 Java平台的公共注解 25
1.10 GlassFish服务器工具 25
第2章 使用教程示例 27
2.1 必要软件 27
2.1.1 Java EE 7软件开发包 28
2.1.2 Java平台标准版 28
2.1.3 Java EE 7教程组件 28
2.1.4 NetBeans IDE 29
2.1.5 Apache Maven 30
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章 企业bean 38
3.1 什么是企业bean 38
3.1.1 企业bean的好处 39
3.1.2 何时使用企业bean 39
3.1.3 企业bean类型 39
3.2 什么是会话bean 39
3.2.1 会话bean类型 40
3.2.2 何时使用会话bean 41
3.3 什么是消息驱动bean 41
3.3.1 消息驱动bean与会话bean的区别 41
3.3.2 何时使用消息驱动bean 42
3.4 访问企业bean 42
3.4.1 在客户端使用企业bean 43
3.4.2 确定远程或本地访问 44
3.4.3 本地客户端 45
3.4.4 远程客户端 46
3.4.5 Web服务客户端 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 创建企业bean 52
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.1 cart示例 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示例:counter 62
5.2.1 创建一个单例会话bean 63
5.2.2 counter示例的架构 67
5.2.3 运行counter示例 69
5.3 一个Web服务示例:helloservice 69
5.3.1 Web服务端点实现类 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.7 timersession示例 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.3 standalone示例应用 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.2 async示例应用 90
7.2.1 async-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.1 EntityManager接口 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.1 order应用 118
9.1.1 order应用中的实体关系 119
9.1.2 order应用中的主键 121
9.1.3 实体映射到多个数据库表 125
9.1.4 order应用中的层叠操作 125
9.1.5 order应用中的BLOB和CLOB数据库类型 126
9.1.6 order应用中的时态类型 126
9.1.7 管理order应用的实体 127
9.1.8 运行order示例 129
9.2 roster应用 129
9.2.1 roster应用中的关系 130
9.2.2 roster应用中的实体继承 131
9.2.3 roster应用中的Criteria查询 132
9.2.4 roster应用中的自动表生成 134
9.2.5 运行roster示例 135
9.3 address-book应用 136
9.3.1 address-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.1 BNF符号 148
10.5.2 Java持久化查询语言的BNF文法 148
10.5.3 FROM子句 152
10.5.4 路径表达式 157
10.5.5 WHERE子句 158
10.5.6 SELECT子句 165
10.5.7 ORDER BY子句 167
10.5.8 GROUP BY和HAVING子句 167
第11章 使用Criteria API创建查询 168
11.1 Criteria和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.4 Criteria查询中的路径导航 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.1 JMS API概述 198
16.1.1 什么是消息传送 198
16.1.2 什么是JMS API 199
16.1.3 何时使用JMS API 199
16.1.4 Java EE平台如何使用JMS API 200
16.2 基本JMS API概念 201
16.2.1 JMS API架构 201
16.2.2 消息传送方式 201
16.2.3 消息使用 203
16.3 JMS API编程模型 204
16.3.1 JMS受管理对象 205
16.3.2 连接 206
16.3.3 会话 206
16.3.4 JMSContext对象 207
16.3.5 JMS消息生产者 208
16.3.6 JMS消息消费者 208
16.3.7 JMS消息 213
16.3.8 JMS队列浏览器 215
16.3.9 JMS异常处理 216
16.4 使用高级JMS特性 216
16.4.1 控制消息确认 217
16.4.2 为发送消息指定选项 218
16.4.3 创建临时目的地 220
16.4.4 使用JMS本地事务 221
16.4.5 异步发送消息 223
16.5 在Java EE应用中使用JMS API 223
16.5.1 为Java EE应用创建资源 223
16.5.2 在企业bean或Web组件中使用资源注入 225
16.5.3 使用Java EE组件生成和同步接收消息 226
16.5.4 使用消息驱动bean异步接收消息 227
16.5.5 管理JTA事务 229
16.6 关于JMS的更多信息 231
第17章 Java消息服务示例 232
17.1 JMS示例概述 233
17.2 编写简单的JMS应用 233
17.2.1 启动JMS提供者 234
17.2.2 创建JMS受管理对象 234
17.2.3 构建所有简单示例 235
17.2.4 发送消息 235
17.2.5 同步接收消息 238
17.2.6 使用消息监听器完成异步消息传送 240
17.2.7 浏览队列中的消息 242
17.2.8 在同一个目的地运行多个消费者 245
17.2.9 确认消息 245
17.3 编写更高级的JMS应用 247
17.3.1 使用持久订阅 247
17.3.2 使用本地事务 249
17.4 编写高性能和可扩展的JMS应用 254
17.4.1 使用共享非持久订阅 254
17.4.2 使用共享持久订阅 256
17.5 使用一个简单Web应用发送和接收消息 257
17.5.1 websimplemessage Facelets页面 257
17.5.2 websimplemessage托管bean 258
17.5.3 运行websimplemessage示例 259
17.6 使用消息驱动bean异步接收消息 261
17.6.1 simplemessage示例概述 261
17.6.2 simplemessage应用客户端 261
17.6.3 simplemessage消息驱动bean类 262
17.6.4 运行simplemessage示例 263
17.7 从会话bean向MDB发送消息 264
17.7.1 为clientsessionmdb示例编写应用组件 265
17.7.2 运行clientsessionmdb示例 267
17.8 使用实体联接两个MDB的消息 268
17.8.1 clientmdbentity示例应用概述 269
17.8.2 为clientmdbentity示例编写应用组件 270
17.8.3 运行clientmdbentity示例 272
17.9 使用NetBeans IDE创建JMS资源 274
17.9.1 使用NetBeans IDE创建JMS资源 274
17.9.2 使用NetBeans IDE删除JMS资源 275
第五部分 安全
第18章 Java EE平台安全介绍 278
18.1 Java EE安全概述 278
18.1.1 简单的应用安全演示 279
18.1.2 安全机制特性 281
18.1.3 应用安全特点 281
18.2 安全机制 282
18.2.1 Java SE安全机制 282
18.2.2 Java EE安全机制 283
18.3 保护容器安全 285
18.3.1 使用注解指定安全信息 285
18.3.2 使用部署描述文件提供声明式安全 285
18.3.3 使用编程式安全 286
18.4 保护GlassFish服务器安全 286
18.5 使用安全域、用户、组和角色 286
18.5.1 什么是安全域、用户、组和角色 287
18.5.2 在GlassFish服务器中管理用户和组 289
18.5.3 建立安全角色 290
18.5.4 角色映射到用户和组 291
18.6 使用SSL建立安全连接 292
18.6.1 验证和配置SSL支持 293
18.7 有关安全的更多信息 293
第19章 Web应用安全入门 295
19.1 Web应用安全概述 295
19.2 保护Web应用安全 296
19.2.1 指定安全约束 297
19.2.2 指定认证机制 300
19.2.3 在部署描述文件中指定认证机制 302
19.2.4 声明安全角色 303
19.3 Web应用使用编程式安全 304
19.3.1 通过编程方式认证用户 304
19.3.2 通过编程方式检查调用者身份 306
19.3.3 编程式安全的示例代码 306
19.3.4 声明和链接角色引用 308
19.4 示例:保护Web应用安全 309
19.4.1 设置系统来运行安全示例 309
19.4.2 hello2-basicauth示例:对servlet使用基本认证 310
19.4.3 hello1-formauth示例:对JSF应用使用基于表单的认证 312
第20章 企业应用安全入门 316
20.1 企业应用的基本安全任务 316
20.2 保护企业bean安全 316
20.2.1 使用声明式安全保护企业bean安全 318
20.2.2 通过编程方式保护企业bean安全 321
20.2.3 传播安全身份(Run-As) 323
20.2.4 部署安全企业bean 324
20.3 示例:保护企业bean安全 324
20.3.1 cart-secure示例:使用声明式安全保护企业bean安全 324
20.3.2 converter-secure示例:使用编程式安全保护企业bean安全 328
第21章 Java EE安全:高级主题 331
21.1 使用数字证书 331
21.1.1 创建服务器证书 332
21.1.2 向证书安全域增加用户 334
21.1.3 为GlassFish服务器使用一个不同的服务器证书 334
21.2 认证机制 335
21.2.1 客户端认证 335
21.2.2 相互认证 335
21.3 使用JDBC安全域完成用户认证 338
21.3.1 配置JDBC认证安全域 339
21.4 保护HTTP资源安全 340
21.5 保护应用客户端安全 343
21.5.1 使用登录模块 343
21.5.2 使用编程式登录 344
21.6 保护企业信息系统应用安全 344
21.6.1 容器托管登录 344
21.6.2 组件托管登录 345
21.6.3 配置资源适配器安全 345
21.6.4 将应用主体映射到EIS主体 346
21.7 使用部署描述文件配置安全 347
21.7.1 在部署描述文件中指定基本认证安全 347
21.7.2 在部署描述文件中指定非默认主体-角色映射 348
21.8 关于高级安全主题的更多信息 348
第六部分 Java EE支持技术
第22章 事务 352
22.1 Java EE应用中的事务 352
22.2 什么是事务 353
22.3 容器托管事务 353
22.3.1 事务属性 354
22.3.2 回滚容器托管事务 357
22.3.3 同步会话bean的实例变量 357
22.3.4 容器托管事务中不允许的方法 358
22.4 bean托管事务 358
22.4.1 JTA事务 358
22.4.2 不提交返回 359
22.4.3 bean托管事务中不允许的方法 359
22.5 事务超时 359
22.5.1 设置事务超时 359
22.6 更新多个数据库 360
22.7 Web组件中的事务 361
22.8 关于事务的更多信息 361
第23章 资源适配器和契约 362
23.1 什么是资源适配器 362
23.1.1 管理契约 363
23.1.2 通用工作上下文契约 364
23.1.3 出站和入站契约 364
23.2 元数据注解 365
23.3 公共客户端接口 366
23.4 对Java EE上下文和依赖注入(CDI)使用资源适配器 367
23.5 关于资源适配器的更多信息 368
第24章 资源适配器示例 369
24.1 trading示例 369
24.1.1 使用出站资源适配器 370
24.1.2 实现出站资源适配器 372
24.1.3 运行trading示例 373
24.2 traffic示例 374
24.2.1 使用入站资源适配器 375
24.2.2 实现入站资源适配器 376
24.2.3 运行traffic示例 378
第25章 使用Java EE拦截器 380
25.1 拦截器概述 380
25.1.1 拦截器类 381
25.1.2 拦截器生命周期 381
25.1.3 拦截器和CDI 381
25.2 使用拦截器 381
25.2.1 拦截方法调用 382
25.2.2 拦截生命周期回调事件 384
25.2.3 拦截超时事件 385
25.2.4 为组件绑定拦截器 386
25.2.5 拦截器排序 387
25.3 interceptor示例应用 388
25.3.1 运行interceptor示例 389
第26章 批处理 390
26.1 批处理介绍 391
26.1.1 批处理作业中的步骤 391
26.1.2 并行处理 392
26.1.3 状态和判定元素 392
26.1.4 批处理框架功能 393
26.2 Java EE中的批处理 394
26.2.1 批处理框架 394
26.2.2 创建批处理应用 394
26.2.3 批处理作业的元素 395
26.2.4 属性和参数 395
26.2.5 作业实例和作业执行 395
26.2.6 批处理和退出状态 395
26.3 简单用例 396
26.3.1 块步骤 397
26.3.2 任务步骤 399
26.4 使用作业规范语言 399
26.4.1 job元素 400
26.4.2 step元素 401
26.4.3 flow元素 406
26.4.4 split元素 406
26.4.5 decision元素 406
26.5 创建批处理工件 407
26.5.1 批处理工件接口 407
26.5.2 批处理工件中的依赖注入 409
26.5.3 从批处理运行时环境使用上下文对象 410
26.6 向批处理运行时环境提交作业 411
26.6.1 开始作业 411
26.6.2 检查作业的状态 411
26.6.3 在应用中调用批处理运行时环境 412
26.7 打包批处理应用 412
26.8 webserverlog示例应用 412
26.8.1 webserverlog示例应用架构 412
26.8.2 运行webserverlog示例应用 418
26.9 phonebilling示例应用 419
26.9.1 phonebilling示例应用架构 419
26.9.2 运行phonebilling示例应用 425
26.10 关于批处理的更多信息 426
第27章 Java EE的并发工具 427
27.1 并发基础 427
27.1.1 线程和进程 428
27.2 并发工具的主要组件 428
27.3 并发和事务 429
27.4 并发和安全 430
27.5 jobs并发示例 430
27.5.1 运行jobs示例 430
27.6 taskcreator并发示例 433
27.6.1 运行taskcreator示例 435
27.7 关于并发工具的更多信息 436
第七部分 案例研究
第28章 Duke书店案例研究示例 438
28.1 Duke书店的设计和架构 438
28.2 Duke书店接口 439
28.2.1 Book Java持久化API实体 439
28.2.2 Duke书店中使用的企业bean 440
28.2.3 Duke书店中使用的Facelets页面和托管bean 440
28.2.4 Duke书店中使用的定制组件和其他定制对象 441
28.2.5 Duke书店中使用的属性文件 442
28.2.6 Duke书店中使用的部署描述文件 443
28.3 运行Duke书店案例研究应用 443
28.3.1 使用NetBeans IDE构建和部署Duke书店 443
28.3.2 使用Maven构建和部署Duke书店 443
28.3.3 运行Duke书店应用 444
第29章 Duke辅导案例研究示例 445
29.1 Duke辅导应用的设计和架构 445
29.2 主界面 447
29.2.1 主界面中使用的Java持久化API实体 447
29.2.2 主界面中使用的企业bean 448
29.2.3 主界面中使用的WebSocket端点 448
29.2.4 主界面中使用的Facelets文件 448
29.2.5 主界面中使用的辅助类 449
29.2.6 属性文件 449
29.2.7 Duke辅导应用中使用的部署描述文件 450
29.3 管理界面 450
29.3.1 管理界面中使用的企业bean 450
29.3.2 管理界面中使用的Facelets文件 451
29.3.3 管理界面中使用的CDI托管bean 451
29.3.4 管理界面中使用的辅助类 451
29.4 运行Duke辅导案例研究应用 452
29.4.1 运行Duke辅导应用 452
第30章 Duke综合案例研究示例 455
30.1 Duke综合应用的设计和架构 456
30.1.1 events工程 458
30.1.2 entities工程 459
30.1.3 dukes-payment工程 461
30.1.4 dukes-resources工程 461
30.1.5 Duke商店工程 461
30.1.6 Duke货运工程 465
30.2 构建和部署Duke综合案例研究应用 467
30.2.1 使用NetBeans IDE构建和部署Duke综合应用 467
30.2.2 使用Maven构建和部署Duke综合应用 467
30.3 运行Duke综合应用 467
30.3.1 注册为Duke商店顾客 468
30.3.2 购买产品 468
30.3.3 批准产品发货 468
30.3.4 创建新产品 469
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我花了整整一个星期才大致摸清这本书的逻辑结构,不得不说,它的章节组织简直是毫无章法可言,仿佛是把不同时期写下的笔记随意堆砌起来。比如,它在讨论CDI(上下文和依赖注入)时,竟然把BeanManager的使用场景分散在好几个不相关的章节里穿插介绍,这让初学者如何构建起一个连贯的知识体系?更令人恼火的是,它的深度控制极其不稳定,有时对一个基础概念(比如Servlet 3.1的异步处理)能用大段的篇幅进行详尽的理论剖析,显得冗长乏味;而到了真正需要深入探究的地方(比如如何在高并发环境下优化事务隔离级别),却草草带过,只留下几个模糊不清的建议,这完全是避重就轻。我期待的是一本结构清晰、层层递进的指南,能引导我从入门到精通,但这本书给我的感觉更像是一部工具箱,所有工具都堆在一起,你得自己费力气去辨认和组合。它缺少那种引导性的叙事弧线,读者必须拥有相当扎实的预备知识才能跟上其跳跃的思路。对于一个希望通过这本书系统学习Java EE 7全貌的开发者来说,这种破碎的叙事结构,无疑是学习路上的巨大绊脚石。

评分

我发现这本书中存在一些令人不安的疏漏和过时信息,这对于一本声称是“权威”的参考资料来说是致命的缺陷。例如,在谈及安全性(JASPIC/JASPICS)的配置实践时,书中引用的几个安全上下文的配置路径和XML Schema定义,与当前最新的规范要求存在细微但不容忽视的偏差。这迫使我不得不频繁地在官方JSR文档和Stack Overflow上交叉验证作者提供的信息,这极大地拖慢了我的项目进度。更让人哭笑不得的是,书中对于数据库连接池(如GlassFish/WildFly自带的配置)的某些性能调优建议,明显是基于早期版本中常见的瓶颈考虑的,对于现代JVM和应用服务器的优化策略来说,已经显得过于保守甚至过时了。作为一个寻求“权威”指导的工程师,我需要的是最贴近生产环境的、经过时间检验的最佳实践。这本书给我的感觉更像是一份在规范发布初期匆忙整理出来的“草案”,而非经过多年实践打磨的定稿,其时效性和准确性令人担忧。

评分

这本书在引入新版本特性时的态度,让我感觉像是被泼了一盆冷水。它并没有真正抓住Java EE 7相对于6.0而言带来的核心范式转变,而是将其处理成了一系列零散的功能列表。例如,我对JSF 2.2引入的资源处理新模型抱有很大期待,想看看作者如何结合实际案例来展示其带来的性能提升和开发便利性。结果呢?书中只是机械地罗列了几个配置文件的修改和少量API调用,几乎没有深入探讨背后的设计哲学,更遑论与Spring MVC等主流框架进行对比分析,以凸显其优劣。这种“知其然不知其所以然”的写作风格,让技术学习停留在表面的“实现”层面,而无法触及“原理”。一个合格的权威指南,理应是能帮助读者理解“为什么是这样设计”的,从而培养出更深层次的架构思维。遗憾的是,这本书更像是一个停留在2013年技术栈的旧版文档的简单更新,缺乏对时代发展和技术演进的深刻洞察力,读完后,我感觉对Java EE的理解并没有得到质的飞跃。

评分

这本书的排版和设计简直是灾难,每一页都像是一个被匆忙拼凑起来的草稿,完全没有专业技术书籍应有的严谨和美感。我尤其受不了它的字体选择,那种陈旧的宋体和粗糙的间距,让阅读过程变成了一种折磨。更要命的是,图表的质量简直是业余水平,很多流程图和架构图模糊不清,关键的标注细节根本看不清,我不得不在屏幕上放大很多次才能勉强分辨出那些方框和箭头代表什么。这已经严重影响了我对复杂概念的理解,尤其是在涉及EJB 3.2或JPA 2.1新特性时,清晰的视觉辅助是多么重要,但这本书在这方面完全失职。很多代码示例的格式也一塌糊涂,缩进混乱,变量命名随意,使得调试和跟随逻辑线索变得异常困难。我感觉作者和出版商对“权威”二字有着极大的误解,一本好的技术书,除了内容正确,阅读体验同样是衡量其专业性的重要标尺,在这本书上,我找不到任何值得称赞的阅读体验。如果不是因为手头实在找不到其他全面覆盖Java EE 7全套规范的替代品,我早就把它扔到角落里吃灰了。这种对细节的漠视,让人对书中深层技术内容的准确性和深度产生了本能的怀疑,仿佛它只是一个匆忙赶工的“填鸭式”教材,而非精心打磨的知识宝典。

评分

这本书的“权威性”在我看来更多是市场营销的口号,而非内容本身的体现。它的篇幅虽然厚重,但信息的密度却令人失望。很多章节充斥着大量的术语定义和API签名的堆砌,这些内容完全可以通过查阅官方Javadoc或API参考手册快速获取,而真正需要作者用智慧提炼、用经验解读的“实战陷阱”和“设计权衡”却鲜有提及。比如,在涉及分布式事务(XA/JTA)的章节中,它仅仅描述了如何配置`transaction-manager`,却几乎没有深入讨论在微服务架构背景下,如何权衡使用Saga模式或事件驱动补偿机制来替代传统的两阶段提交,这完全错过了Java EE 7时代技术栈向云原生演进的关键视角。这种“百科全书式”的罗列,而非“指导手册式”的萃取,使得本书的价值大打折扣。读者翻阅它时,得到的更多是一种“我读完了”的错觉,而非“我掌握了”的自信。对于资深开发者而言,这本书提供的增量价值微乎其微;而对于新手而言,它又显得过于晦涩和缺乏引导,真是两头不讨好。

评分

很久之前读过的一本书,做为Java学习的一本入门资料。不过当时是粗略的看了一下,简单做了一些Java EE 介绍的笔记。算是初始Java的一个过程吧,没有深入了解。

评分

同卷1

评分

很久之前读过的一本书,做为Java学习的一本入门资料。不过当时是粗略的看了一下,简单做了一些Java EE 介绍的笔记。算是初始Java的一个过程吧,没有深入了解。

评分

很久之前读过的一本书,做为Java学习的一本入门资料。不过当时是粗略的看了一下,简单做了一些Java EE 介绍的笔记。算是初始Java的一个过程吧,没有深入了解。

评分

同卷1

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有