《Java 2技术内幕》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Stephen Potts等著;马朝晖等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111116216
  • 页数:774 页
图书介绍:本书从Java 2的基础结构入手,全面讲述了如何充分利用Java 2,SDK1.4的功能和特性。

前言 1

关于作者 1

第一部分分布式对象编程 1

第1章计算机互连编程原理 1

1.1计算机连接简史 1

目 录 1

1.2 TCP/IP和Java 3

1.2.1 TCP/IP工作原理 3

1.2.2应用层 5

1.2.4网络层 6

1.2.5网络访问层 6

1.2.3传输层 6

1.3理解现代互连技术 10

1.3.1 Java数据库连接性(JDBC) 11

1.3.2TCP/IP 11

1.3.3 servlet 11

1.3.4远程方法调用(RMl) 12

1.3.5 Java命名和目录接口(JNDI) 12

1.3.6 JavaMail 12

1.3.7 Java消息服务(JMS) 13

1.3.8 Enterprise JavaBean(EJB) 13

1.3.9消息驱动的bean(MDB) 13

1.4旅行票据应用程序的设计 14

1.3.10 XML 14

1.3.11 Web服务 14

1.5小结 15

第2章使用RMI创建应用程序 16

2.1理解RMI 16

2.1.1 RMI特性 17

2.1.2 RMI与CORBA的比较 17

2.1.3 RMI的内部机理 18

2.1.4支持程序 18

2.1.5创建RMI应用程序 19

2.2将应用程序转换为RMI 25

2.1.6运行示例程序 25

23创建CruiseList应用程序的RMI版本 37

2.4小结 54

第3章使用JAXP创建应用程序 55

3.1理解XML1 55

3.2 XML相关工具 56

3.3创建XML文档 57

3.4创建文档类型定义(DTD) 59

3.5使用SimpleAPI for XML(SAX) 61

进行分析 61

3.6使用文档对象模型(DOM)进行分析 66

3.7 CruiseList应用程序的XML版本 72

3.8小结 92

第4章使用JSP和servlet进行应用 93

程序开发 93

4.1 HTTP基础 93

4.2第一个JSP页面 94

4.3JSP标记类型 98

4.3.1指令 98

4.3.2声明 99

4.3.3表达式 100

4.3.4 JSP小脚本 100

4.4使用JSP处理表单 101

4.5第一个servlet 105

4.6何时使用JSP,何时使用servlet 108

4.7综合使用JSP和servlet 109

4.8小结 128

第二部分企业级Java 129

第5章Enterprise JavaBean(EJB) 129

5.1理解EJB方式 130

5.1.1 EJB的长处 131

5.1.2 EJB的弱点 131

5.1.3编写简单的EJB 132

5.2 EJB内部原理 139

5.2.1 EJB体系结构 139

5.2.2实例缓存 140

5.2.3部署说明文件概述 141

5.2.4 EJB的类型 141

5.3使用EJB开发旅行订票应用程序 143

5.4开发无状态会话bean 144

5.4.1使用无状态会话bean进行 144

实例缓存 144

5.4.2无状态会话bean的状态图 144

5.4.3无状态bean中的回调方法 145

5.4.4为旅行订票应用程序编写 145

无状态bean 145

5.5开发有状态会话bean 151

〈METHOD〉方法 151

5.4.5无状态会话bean中的create 151

5.5.1有状态会话bean的状态图 152

5.5.2 SessionSynchronization接口 152

5.5.3有状态bean中的回调方法 152

5.6开发实体bean 153

5.6.1实体bean中的持久化模型 153

5.6.2实体bean的状态图 154

5.6.3实体bean中的回调方法 154

5.6.4为旅行订票应用程序编写 154

实体bean 154

5.6.6 EJB查询语言 162

5.6.5实体bean中的create〈METHOD〉方法 162

5.6.8 ejbSelect〈METHOD〉方法 163

5.6.9 ejbHome〈METHOD〉方法 163

5.6.10 CMP字段 163

5.6.7 find〈METHOD〉方法 163

5.6.11 CMR字段 164

5.6.12主键 164

5.7建立并且运行旅行订票应用程序 165

5.8 EJB容器服务 166

5.8.1 EJB中的声明式安全 166

5.8.2 EJB中的声明式事务 167

5.9小结 169

5.8.3 EJB环境 169

第6章消息驱动bean(MDB) 171

6.1理解消息驱动的bean(MDB) 172

6.2开发和部署MDB 173

6.2.1编写MDB Java文件 173

6.2.2手工创建部署说明文件 173

6.2.3部署消息驱动的bean 175

6.2.4编写简单的MDB 176

6.3 MDB的工作原理 183

6.4点对点模型 184

6.5创建基于GUI的应用程序 192

6.6在MDB中处理错误 211

6.7小结 212

第7章Java消息服务(JMS) 213

7.1理解JMS 214

7.2使用JMS建立旅行票据系统 214

7.2.1用户界面编程 215

7.2.2使用JMS建立票据代理应用程序 227

7.2.3集成测试 236

7.3发布/预订模型 236

7.4小结 246

第8章选择正确技术的方法 247

8.1选择技术的挑战 247

8.2.1成本 248

8.2衡量软件特征 248

8.2.2风险 249

8.2.3可维护性 249

8.2.4可靠性 249

8.2.5可伸缩性 249

8.2.6互操作性 250

8.2.7简单性 250

8.2.8可扩展性 250

8.2.9可检验性 250

8.2.10人员的情况 250

(JDBC) 251

8.3.1 Java和Java数据库连接性 251

8.2.1 1学习的难度 251

8.3评估分布式技术 251

8.3.2 TCP/IP编程(套接字) 252

8.3.3 servlet 253

8.3.4远程方法调用(RMI) 254

8.3.5 Java命名和目录接口(JNDI) 254

8.3.6 JavaMail 256

8.3.7 Java消息服务(JMS) 256

8.3.8消息驱动bean(MDB) 257

8.3.9 Enterprise JavaBean(EJB) 258

8.4对比Java技术与CORBA 259

8.3.10 web服务 259

8.5小结 260

第三部分Java集成技术 261

第9章Web服务 261

9.1理解web服务方式 262

9.1.1什么是web服务 262

9.1.2 web服务的长处 263

9.1.3 web服务的弱点 264

9.1.4创建一个简单的Web服务 265

9.2理解SOAP 271

9.3创建一个付款Web服务 274

9.3.1 SOAP错误消息 278

9.3.2 SOAP数据类型 280

9.4理解WSDL 281

9.5理解UDDI 284

9.5.1 UDDI数据结构 284

9.5.2 UDDI API 285

9.6与.NET进行集成 286

9.7小结 288

第10章JDBC和数据库 290

10.1为什么需要JDBC 290

10.2 JDBC的工作原理 291

10.3批处理 293

10.4 JDBC与WebLogic Server 298

10.5 JDBC事务管理 304

10.6 JDBC 3.0中的改进 316

10.7小结 317

第11章Java命名和目录接口(JNDI) 318

11.1为什么需要命名服务API 319

11.2理解JNDI 319

11.3命名服务的工作原理 320

11.4寻找JNDI提供者 322

11.4.1默认寻找 322

11.4.3创建JNDI属性文件 324

11.4.4传递属性对象 324

11.4.2在命令行上传递属性 324

11.4.5创建Hashtable 326

11.5 JNDI与WebLogic Server 328

11.5.1绑定、取消绑定和重新绑定 330

11.5.2复杂对象 332

11.6使用JNDI时的注意事项 340

11.7小结 340

第12章使用Java处理语音 341

12.1理解Java Speech 341

12.2创建和分配语音引擎 343

12.2.1引擎状态 345

12.2.2分配线程 348

12.3语音合成 350

12.4语音识别 358

12.5小结 362

第13章JavaMail 363

13.1理解JavaMail 363

13.1.1 Session类 364

13.1.2 Message类 364

13.2 JavaMail的工作原理 364

13.3创建简单的SMTP应用程序 366

13.4创建基于JavaMail的CruiseList应用程序 374

13.5获取特定的电子邮件消息 397

13.6编写事件驱动的电子邮件应用程序 402

13.7小结 407

第14章串行端口通信 408

14.1理解RS-232标准 408

14.1.1 RS-232硬件 409

14.1.2通信软件 410

14.2 Java Communications API 411

14.3通过串行端口发送数据 419

14.4小结 425

第15章使用Java 2D进行绘制 427

15.1 理解Java 2D 427

第四部分Java媒体技术 427

15.2在屏幕上绘制文本 428

15.3绘制图形 433

15.4操作图像 437

15.5混合使用文本、图形和图像 443

15.6小结 445

第16章Java 3D图形 447

16.1理解三维(3D)编程 447

16.2 Java 3D API中的主要对象 449

16.3在Java 3D应用程序中添加运动 453

16.4在Java 3D程序中添加光线 454

16.5在Java 3D中添加纹理映射 460

16.6小结 465

第17章Java媒体框架(JMF)和Java 466

Advanced Imaging(JAI)API 466

17.1理解基于时间的媒体 466

17.2使用JMF对基于时间的媒体 468

进行解码 468

17.2.1添加控制面板 473

17.2.2 JMF中的其他功能 478

17.3使用Advanced Imaging API进行程序设计 478

17.4小结 482

第18章使用Java处理声音 484

18.1取样声音的原理 484

18.2 MIDI声音的原理 485

18.3 Java Sound API 486

18.4使用Java播放声音 488

18.5使用Java捕捉声音 498

18.6小结 510

第五部分设计Java类的最佳方式 511

第19章JavaBean和Java事件模型 511

19.1理解JavaBean 512

19.2使用Java事件模型进行程序设计 512

19.3开发简单的JavaBean 517

19.4方法、事件和属性 527

19.4.1方法 527

19.4.3绑定属性和受限属性 529

19.4.2事件 529

19.5小结 534

第20章体系结构模型和框架 535

20.1为什么需要框架 535

20.2什么是框架 536

20.3 MVC模式概述 540

20.4 Jakarta Struts框架中的MVC实现 542

20.4.1在Struts中创建控制器 544

20.4.2在Struts中创建视图 547

20.4.3在Struts中创建模型 552

20.4.4运行登录应用程序 552

20.5小结 553

第21章 Java设计模式 554

21.1为什么需要模式 554

21.2 Java模式 555

21.2.1单实例 555

21.2.2枚举 557

21.2.3工厂 560

21.2.4观察者 563

21.2.5代理 567

21.2.6外观 571

21.3 EJB设计模式 573

21.3.1 业务委托 573

21.3.2命令 578

21.4小结 582

第22章异常和调试 583

22.1异常处理的重要性 583

22.2理解Java异常策略 585

22.3在Java程序中捕获异常 585

22.4常见的异常处理方式 593

22.5处理异常的正确方式 595

22.6转换异常 598

22.7传递异常而不损失信息 600

22.8 JDK 1.4中的异常传递 610

22.9小结 618

第23章Java安全 619

23.1 Java安全概述 619

23.1.1应用程序安全综述 619

23.1.2安全威胁 620

23.1.3 Java中 的安全机制 620

23.1.4 Java Authentication and AuthorizationService综述 621

23.1.5 Java Cryptography Extension综述 621

23.2 Java沙箱模型 622

23.2.1 Java沙箱体系结构 622

23.2.2使用Java权限 623

23.2.3为Java沙箱编写自己的权限 626

23.3.1 SSL综述 629

23.3 Java安全套接字 629

23.3.2加密综述 630

23.3.3使用JSSE的客户/服务器 630

23.4小结 636

第24章Java多线程应用程序 637

24.1线程概述 637

24.1.1线程的生存周期 638

24.1.2创建线程 639

24.2控制线程 640

24.2.1启动线程 640

24.2.2使线程睡眠 641

24.2.3中断线程 642

24.2.4停止线程 644

24.3创建线程安全的应用程序 644

24.3.1多线程应用程序中最常见的 644

问题 644

24.3.2临界区 646

24.3.3让线程等待 648

24.3.4结合线程 651

24.4线程管理 651

24.4.1线程组 651

24.4.2线程的优先级 654

24.5小结 654

25.1国际化的基本原理 656

第25章Java国际化 656

25.2为文本使用资源束 657

25.3使用ResourceBundle类存储对象 666

25.4国际化日期和时间 670

25.5国际化数值和货币值 673

25.6小结 678

第26章持久化和克隆 679

26.1对象串行化 679

26.1.1自动串行化 680

26.1.2 transient关键字 688

26.1.3带版本的串行化 689

26.1.4定制的串行化 691

26.1.5串行化内部原理 693

26.2对象外表化 694

26.3克隆 697

26.3.1创建深度副本 703

26.3.2使用串行化进行克隆 705

26.3.3 AutoCloner与性能 708

26.4安全与串行化 708

26.5小结 714

第27章多态性和继承 715

27.1多态性和继承的重要性 715

27.2多态性的内部原理 716

27.3多态性编程 717

27.4继承、构成或强力 722

27.5继承和多态性的缺点 725

27.6具体或抽象基类 726

27.7类型安全的向下类型转换与继承 727

27.7.1 instanceof解决方案 729

27.7.2 Object.getClass()解决方案 729

27.7.3 Class.forName()解决方案 730

27.8用运行时类型识别进行多态性编程 732

27.9用反射进行多态性编程 735

27.10继承与句柄 737

27.11小结 738

28.1理解包 739

第28章代码的组织和部署 739

28.2 JAR文件 741

28.2.1内容清单文件 744

28.2.2运行JAR文件中的代码 744

28.2.3扩展 745

28.3Java API Documentation Generator 746

28.4小结 756

第六部分附 录 757

附录A本书使用的实用程序源代码 757

清单 757

附录B下载和安装WebLogic Server 774