《GlassFish 开源的Java EE应用服务器》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:蒋健,王昱主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302162212
  • 页数:462 页
图书介绍:本书介绍以GlassFish为基础的开源的Java EE应用服务器的性能和代码编写的方法。

基础篇 3

第1章 Java EE 5和GlassFish 3

1.1 Java EE 5概述 3

1.2 Java EE 5架构 4

1.2.1 容器(Container) 6

1.2.2 应用组件(Application Component) 6

1.2.3 Java EE 5的标准服务 7

1.3 Java EE 5的新特性 9

1.3.1 标注 9

1.3.2 依赖性注入 10

1.3.3 EJB 3.0和JPA 10

1.3.4 Web服务 11

1.3.5 JSF 11

1.4 Java EE 5相关的JSR 11

1.4.1 JCP介绍 12

1.4.2 Java EE 5相关的JSR 13

1.5 关于GlassFish 14

1.5.1 GlassFish项目概述 15

1.5.2 GlassFish生态 15

1.5.3 GlassFish的技术特性 17

1.6 GlassFish和Java EE 5 SDK 18

1.6.1 Java EE 5 SDK 18

1.6.2 基于GlassFish代码构建的3个产品 20

1.7 小结 21

第2章 开源和社区 22

2.1 开源概述 22

2.1.1 FOSS 22

2.1.2 开源带来的变革 23

2.1.3 开源软件许可类型 24

2.2 Java开源与GlassFish开源 24

2.2.1 Java的GPL v2开源 24

2.2.2 GlassFish的双开源许可 25

2.3 GlassFish社区 26

2.3.1 参与GlassFish社区 26

2.3.2 FishEye 27

2.3.3 Issue Tracker 28

2.3.4 GlassFish子社区 28

2.4 java.net社区 29

2.4.1 参与java.net社区 30

2.4.2 java.net指导原则 32

2.5 SDN和SDN China 33

2.5.1 SDN 33

2.5.2 Sun中国技术社区(SDN China) 34

2.6 小结 35

第3章 安装和构建GlassFish 36

3.1 基于二进制文件安装GlassFish 36

3.1.1 预备条件 36

3.1.2 安装二进制存档 37

3.1.3 启动服务器 37

3.2 基于源代码构建GlassFish 38

3.2.1 构建预备工作 38

3.2.2 构建步骤 39

3.2.3 快速测试 43

3.3 使用NetBeans(IDE)构建模块 43

3.4 小结 45

应用篇 49

第4章 管理控制台 49

4.1 管理控制台概述 49

4.1.1 启动和登录 49

4.1.2 域的管理 50

4.1.3 管理控制台的组成 50

4.2 应用部署 52

4.2.1 部署应用程序 52

4.2.2 部署Web服务 53

4.2.3 部署MBean 54

4.3 资源管理 55

4.3.1 JDBC资源 56

4.3.2 JMS资源 56

4.3.3 JavaMail会话 58

4.3.4 JNDI资源 58

4.3.5 连接器 59

4.4 系统配置 60

4.4.1 Java EE容器 60

4.4.2 设置HTTP服务 63

4.4.3 ORB(对象请求代理) 66

4.4.4 线程池(Thread Pool) 67

4.4.5 系统JMX连接器 67

4.5 系统监控 67

4.5.1 日志管理 68

4.5.2 监控组件和服务 69

4.5.3 诊断服务 71

4.5.4 JVM和高级设置 71

4.6 小结 72

第5章 GlassFish命令行 73

5.1 命令行工具asadmin的应用 73

5.1.1 语法 73

5.1.2 asadmin子命令 74

5.1.3 域(domain)子命令 75

5.1.4 本地命令和远程命令 78

5.1.5 asadmin执行方式 79

5.2 asant介绍 80

5.2.1 asant的配置 80

5.2.2 asant扩充的Ant任务 80

5.3 命令行架构 82

5.3.1 命令的定义 83

5.3.2 命令的实现 84

5.3.3 命令的交互 85

5.4 命令定制 86

5.4.1 增加命令 86

5.4.2 定制远程命令 89

5.5 小结 92

第6章 Web应用程序基础和Servlet 93

6.1 HTTP简介 93

6.1.1 HTTP的特点 93

6.1.2 URL(统一资源定位符) 94

6.1.3 HTTP请求(Request) 94

6.1.4 POST和GET方法 96

6.1.5 HTTP响应(Response) 97

6.2 Web应用程序基础 98

6.2.1 Web应用程序分类 98

6.2.2 Web容器(Web Container) 98

6.2.3 Web模块(Web Module) 99

6.2.4 在GlassFish上打包、部署、配置和运行 100

6.2.5 动态重载 101

6.3 Servlet基本概念 102

6.3.1 什么是Servlet 102

6.3.2 Servlet的常用接口 102

6.3.3 Servlet的生命周期 104

6.4 Servlet中的对象 105

6.4.1 请求对象 105

6.4.2 响应对象 106

6.4.3 Session对象 107

6.5 Filter(过滤器) 109

6.5.1 定制Filter 109

6.5.2 Filter声明 111

6.5.3 Filter的生命周期 113

6.6 请求转发 114

6.6.1 include方法 114

6.6.2 forward方法 115

6.7 生命周期事件 115

6.7.1 监听器类型 116

6.7.2 部署监听器 116

6.8 Servlet 2.5规范的新特性 117

6.8.1 Servlet 2.5中的标注 117

6.8.2 web.xml的改变 118

6.8.3 其他 119

6.9 小结 119

第7章 JSP编程 120

7.1 JSP概述 120

7.1.1 JSP发展历史 120

7.1.2 JSP的由来 120

7.1.3 JSP与Servlet的转换 120

7.1.4 JSP的生命周期 123

7.1.5 架构中的应用 123

7.1.6 JSP页面的构成 124

7.2 JSP指令 124

7.2.1 page指令 124

7.2.2 taglib指令 125

7.2.3 include指令 126

7.3 JSP动作 126

7.3.1 〈jsp:useBean〉动作 127

7.3.2 〈jsp:setProperty〉和〈jsp:getProperty〉动作 128

7.3.3 〈jsp:include〉动作 129

7.3.4 〈jsp:forward〉动作 129

7.3.5 其他JSP动作 130

7.4 统一表达式语言(Unified Expression Language) 130

7.4.1 隐含对象(Implicit Objects) 131

7.4.2 对象的访问及其操作 132

7.5 表达式 133

7.5.1 立即表达式和延迟表达式 133

7.5.2 值表达式和方法表达式 134

7.5.3 自定义标记属性类型 135

7.5.4 禁用表达式 136

7.6 JSP标准标记库 137

7.6.1 Core标记库 138

7.6.2 XML标记库 140

7.6.3 SQL标记库 141

7.7 小结 142

第8章 JSF编程 143

8.1 JSF概述 143

8.1.1 RAD与Web应用 143

8.1.2 什么是JSF 144

8.1.3 开发工具对JSF的支持 144

8.2 创建JSF应用程序 145

8.2.1 创建一个使用JSF框架的Web应用程序 146

8.2.2 创建页面 147

8.2.3 页面导航 148

8.2.4 受管Bean 149

8.2.5 部署运行 150

8.3 完善JSF应用程序 151

8.3.1 示例分析 151

8.3.2 创建验证器(Validator) 151

8.3.3 创建转换器(Converter) 152

8.3.4 错误信息处理 152

8.3.5 自定义错误信息 153

8.3.6 自定义验证器 154

8.4 JSF中的重要组件 156

8.4.1 UI组件(UI Component) 156

8.4.2 绘制器(Renderer) 156

8.4.3 验证器(Validator) 156

8.4.4 受管Bean(Managed Bean) 156

8.4.5 转换器(Convertor) 157

8.4.6 事件(Event)和监听器(Listener) 157

8.4.7 消息(Message) 157

8.4.8 导航(Navigation) 157

8.5 JSF的工作方式 158

8.5.1 配置JSF应用 158

8.5.2 JSF的生命周期 159

8.6 重要的类和接口 162

8.6.1 FacesContext类 162

8.6.2 ExternalContext类 162

8.6.3 Application类 162

8.6.4 UIComponent接口 163

8.7 JSF组件的层次结构和标识 163

8.7.1 JSF组件的层次结构 163

8.7.2 用标识符标识组件 165

8.8 小结 166

第9章 AJAX技术 167

9.1 AJAX概述 167

9.1.1 为什么会出现AJAX 167

9.1.2 一个简单的AJAX验证的例子 167

9.1.3 AJAX技术的优势 175

9.1.4 AJAX技术的一些限制 176

9.2 Dojo Toolkit 176

9.2.1 用Dojo Toolkit实现AJAX验证 176

9.2.2 AJAX Widget 178

9.2.3 用Dojo实现的Fisheye List 178

9.2.4 Dojo的包 181

9.3 jMaki 182

9.3.1 包容器——jMaki 182

9.3.2 jMaki在NetBeans IDE中的安装和使用 182

9.3.3 用jMaki实现Fisheye 183

9.4 AJAX与JSF 184

9.4.1 实例:自动完成文本字段 184

9.4.2 Sun BluePrints AJAX组件 188

9.5 AJAX与GlassFish 189

9.5.1 Phobos 189

9.5.2 Woodstock 190

9.6 小结 191

第10章 Web服务 192

10.1 Web服务原理 192

10.1.1 Web服务体系结构 192

10.1.2 Web服务的实现技术 193

10.1.3 一个使用天气预报Web服务的实例 196

10.1.4 用JAX-WS实现Web服务 199

10.1.5 SAAJ 202

10.2 安全的Web服务 204

10.2.1 在GlassFish上实现全局的WSS 205

10.2.2 在GlassFish上实现局部的WSS 206

10.3 JAXB 207

10.3.1 JAXB历史 207

10.3.2 XML与Web服务 208

10.3.3 JAXB所描述的绑定 209

10.3.4 JAXB命令行工具 210

10.3.5 JAXB应用开发 210

10.4 StAX 212

10.4.1 拉式解析和推式解析 212

10.4.2 StAX接口 212

10.5 小结 217

第11章 EJB 3.0和JPA开发 218

11.1 EJB 3.0特点综述 218

11.1.1 为什么要EJB 3.0 218

11.1.2 EJB 3.0特点综述 218

11.2 Session Bean开发示例 219

11.2.1 定义业务接口 219

11.2.2 实现业务接口 220

11.2.3 打包 221

11.2.4 发布 221

11.2.5 查找和调用EJB 3.0 222

11.3 依赖注入示例 224

11.3.1 引用EJB 224

11.3.2 引用Resource 225

11.4 Entity与Java Persistence示例 226

11.4.1 定义EJB 3.0 Entity 226

11.4.2 使用和管理EJB 3.0 Entity 230

11.4.3 Entity Manager事务控制 232

11.4.4 Persistence.xml 234

11.5 小结 234

第12章 GlassFish的安全性 235

12.1 GlassFish安全性基本概念 235

12.2 密码安全的管理 236

12.2.1 密码文件权限 236

12.2.2 主密码管理 237

12.2.3 用户和资源密码管理 237

12.3 身份认证和授权 238

12.3.1 身份认证 238

12.3.2 身份授权 238

12.3.3 管理控制台对授权的管理 239

12.3.4 自定义的认证和授权模块 242

12.4 数字证书及工具 243

12.4.1 数字证书的基本概念 243

12.4.2 GlassFish证书文件 244

12.4.3 更改GlassFish证书文件的位置 244

12.4.4 keytool工具概述 245

12.4.5 使用keytool生成GlassFish证书 246

12.4.6 使用keytool为数字证书签名 246

12.5 单点登录 247

12.6 Web服务安全性 248

12.6.1 Web服务安全性规范 248

12.6.2 GlassFish消息安全提供者 249

12.6.3 GlassFish消息保护策略 249

12.6.4 GlassFish消息加密 252

12.6.5 WSS消息安全实例 253

12.7 GlassFish应用程序安全设置 256

12.7.1 了解应用程序和系统安全性 256

12.7.2 角色、主体以及主体到角色的映射 257

12.7.3 领域设置 259

12.7.4 设置server.policy文件 260

12.8 小结 261

第13章 国际化和本地化 262

13.1 Java国际化/本地化基本概念 262

13.1.1 本地化环境(Locale) 263

13.1.2 字符编码(Character Encoding) 265

13.1.3 资源包(Resource Bundle) 267

13.2 Java EE应用开发中的国际化 270

13.2.1 Servlet的国际化 270

13.2.2 JSTL中的国际化标记 271

13.2.3 JSF应用的国际化 276

13.3 GlassFish的国际化特性 282

13.4 小结 282

第14章 Java EE应用性能调优 283

14.1 Java EE应用的性能调优简介 284

14.1.1 什么是Java应用的性能 284

14.1.2 Java EE应用性能调优的复杂程度 286

14.1.3 Java EE应用性能调优的方法论 287

14.2 被动的性能调优 288

14.2.1 硬件层和操作系统层次的监控 288

14.2.2 Java虚拟机层次的监控 294

14.2.3 应用服务器层次的监控 298

14.2.4 应用代码的跟踪 298

14.2.5 被动性能调优的案例分析 299

14.3 主动的性能调优 302

14.3.1 应用层的性能调优 302

14.3.2 应用服务器的性能调优 305

14.3.3 Java虚拟机的性能调优 308

14.3.4 操作系统的性能调优 308

14.4 小结 309

开源篇 313

第15章 JMX在GlassFish中的应用 313

15.1 JMX概述 313

15.1.1 JMX的背景 313

15.1.2 选择JMX的理由 314

15.2 JMX的基本概念 314

15.2.1 JMX的3层架构 314

15.2.2 MBean组件 315

15.2.3 MBean服务器 317

15.2.4 JMX消息模型 319

15.2.5 代理服务(Agent Service) 320

15.2.6 连接器(Connector) 320

15.3 JMX整合实例 321

15.3.1 运用JMX技术管理Java样例ArcTest 321

15.3.2 MBean的实现 322

15.3.3 JMX代理的实现 324

15.3.4 运行实例 325

15.3.5 分布式管理应用的实现 326

15.4 Java EE中的JMX应用 328

15.4.1 Java EE管理模型(Management Model) 328

15.4.2 可管理对象 329

15.4.3 监控接口 329

15.4.4 MEJB 330

15.5 GlassFish对JMX的应用 331

15.5.1 GlassFish中的MBean 331

15.5.2 AMX概述 332

15.5.3 动态客户代理(Dynamic Client Proxy) 333

15.5.4 AMX对JMX的扩展 337

15.5.5 AMX实现 338

15.6 开发User MBean 343

15.6.1 User MBean的生命周期 343

15.6.2 GlassFish中MBean相关的操作 343

15.7 小结 345

第16章 自管理和CallFlow 346

16.1 自管理 346

16.1.1 自管理概述 346

16.1.2 管理规则与JMX消息机制 347

16.1.3 管理规则的定义和实例 347

16.1.4 自管理的事件(Event) 349

16.1.5 创建管理规则 350

16.1.6 自管理的实现代码 351

16.2 自管理应用开发实例 351

16.2.1 创建自管理应用 353

16.2.2 运行所创建的自管理应用 359

16.3 CallFlow(调用流程监控) 363

16.3.1 CallFlow功能概述 363

16.3.2 CallFlow架构 364

16.3.3 CallFlow应用 365

16.3.4 CallFlow开发 368

16.4 小结 371

第17章 高性能的HTTP引擎——Grizzly 372

17.1 NIO简介 372

17.1.1 NIO的基本概念 373

17.1.2 NIO之前的Server程序的架构 375

17.1.3 使用NIO来提高系统扩展性 376

17.1.4 使用NIO来制作HTTP引擎的最大挑战 378

17.2 Grizzly简介 379

17.2.1 Grizzly的基本架构 379

17.2.2 源码阅读指南 381

17.3 Grizzly的特点 383

17.3.1 如何处理慢速的连接 383

17.3.2 如何避免内存泄漏 387

17.3.3 使用多个Selector 393

17.3.4 Grizzly其他的特点 396

17.3.5 Grizzly的性能 398

17.4 小结 398

第18章 异步请求处理和服务器推送技术 399

18.1 异步请求处理 399

18.1.1 Grizzly异步请求处理的实现 401

18.1.2 “新邮件提醒”异步请求处理 407

18.1.3 Grizzly异步请求处理的特点 411

18.2 服务器推送技术 411

18.2.1 Comet实现的分析 413

18.2.2 Comet实例讲解——“聊天室”应用 416

18.3 小结 419

第19章 EJB容器实现 420

19.1 GlassFish EJB容器 420

19.1.1 EJB远程视图 420

19.1.2 EJB容器的实现 422

19.1.3 EJB远程方法调用过程分析 425

19.2 GlassFish EJB 3.0实现 429

19.2.1 EJB 3.0中Home接口和Component接口的实现 429

19.2.2 EJB 3.0远程对象的查找过程分析 432

19.2.3 EJB 3.0业务方法的调用过程分析 434

19.2.4 依赖注入的实现 434

19.2.5 回调和拦截器实现的分析 436

19.3 小结 438

第20章 内部持久性实现和Java DB 439

20.1 基于文件的持久性实现 439

20.1.1 域配置文件domain.xml 439

20.1.2 读写domain.xml 440

20.2 基于数据库的持久性实现 441

20.2.1 Java DB的来源 441

20.2.2 Java DB的特点 442

20.2.3 使用Java DB 443

20.2.4 Java DB工具 444

20.2.5 GlassFish管理控制台有关Java DB的配置 445

20.2.6 GlassFish中利用Java DB的持久性实现 448

20.2.7 Java DB的应用 451

20.3 小结 457

结束语 459

附录 参考资源 461

参考文献 462