资源名称:《Java网络编程精解(孙卫琴)》PDF 下载

内容简介:

《Java网络编程精解》结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。《Java网络编程精解》的范例都基于最新的JDK 1.5版本,书中内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、.Java反射机制、RMI框架、JDBCAPI、JavaMail

API、MVC设计模式、安全网络通信、CORBA和Web服务。另外,《Java网络编程精解》还涵盖了Sun公司的SCJD(sun Certiffed Java Developer)认证的考试要点。

书中范例源文件请到http://www.fecit.com.cn的“下载专区”下载。

资源目录:

第1章 Java网络编程入门 1

1.1 进程之间的通信 1

1.2 计算机网络的概念 3

1.3 OSI参考模型 5

1.4 TCP/IP参考模型和

TCP/IP协议 8

1.4.1 IP协议 11

1.4.2 TCP协议及端口 14

1.4.3 RFC简介 15

1.4.4 客户/服务器通信模式 16

1.5 用Java编写客户/服务器

程序 17

1.5.1 创建EchoServer 18

1.5.2 创建EchoClient 20

1.6 小结 22

1.7 练习题 23

第2章 Socket用法详解 25

2.1 构造Socket 25

2.1.1 设定等待建立连接的

超时时间 26

2.1.2 设定服务器的地址 26

2.1.3 设定客户端的地址 27

2.1.4 客户连接服务器时

可能抛出的异常 27

2.2 获取Socket的信息 30

2.3 关闭Socket 32

2.4 半关闭Socket 33

2.5 设置Socket的选项 38

2.5.1 TCP_NODELAY选项 38

2.5.2 SO_RESUSEADDR选项 38

2.5.3 SO_TIMEOUT选项 39

2.5.4 SO_LINGER选项 42

2.5.5 SO_RCVBUF选项 44

2.5.6 SO_SNDBUF选项 45

2.5.7 SO_KEEPALIVE选项 45

2.5.8 OOBINLINE选项 45

2.5.9 服务类型选项 45

2.5.10 设定连接时间、延迟和

带宽的相对重要性 46

2.6 发送邮件的SMTP客户程序 47

2.7 小结 51

2.8 练习题 52

第3章 ServerSocket用法详解 55

3.1 构造ServerSocket 55

3.1.1 绑定端口 55

3.1.2 设定客户连接请求

队列的长度 56

3.1.3 设定绑定的IP地址 58

3.1.4 默认构造方法的作用 58

3.2 接收和关闭与客户的连接 59

3.3 关闭ServerSocket 60

3.4 获取ServerSocket的信息 60

3.5 ServerSocket选项 62

3.5.1 SO_TIMEOUT选项 62

3.5.2 SO_REUSEADDR选项 63

3.5.3 SO_RCVBUF选项 64

3.5.4 设定连接时间、延迟和

带宽的相对重要性 64

3.6 创建多线程的服务器 65

3.6.1 为每个客户分配一个线程 65

3.6.2 创建线程池 67

3.6.3 使用JDK类库提供的

线程池 72

3.6.4 使用线程池的注意事项 74

3.7 关闭服务器 76

3.8 小结 80

3.9 练习题 81

第4章 非阻塞通信 83

4.1 线程阻塞的概念 83

4.1.1 线程阻塞的原因 83

4.1.2 服务器程序用多线程

处理阻塞通信的局限 84

4.1.3 非阻塞通信的基本思想 85

4.2 java.nio包中的主要类 87

4.2.1 缓冲区Buffer 88

4.2.2 字符编码Charset 90

4.2.3 通道Channel 90

4.2.4 SelectableChannel类 92

4.2.5 ServerSocketChannel类 93

4.2.6 SocketChannel类 93

4.2.7 Selector类 96

4.2.8 SelectionKey类 97

4.3 服务器编程范例 100

4.3.1 创建阻塞的EchoServer 100

4.3.2 创建非阻塞的EchoServer 103

4.3.3 在EchoServer中混合用

阻塞模式与非阻塞模式 110

4.4 客户端编程范例 114

4.4.1 创建阻塞的EchoClient 114

4.4.2 创建非阻塞的EchoClient 116

4.4.3 创建非阻塞的PingClient 120

4.5 小结 126

4.6 练习题 127

第5章 创建非阻塞的HTTP服务器 129

5.1 HTTP协议简介 129

5.1.1 HTTP请求格式 129

5.1.2 HTTP响应格式 132

5.1.3 测试HTTP请求 133

5.2 创建非阻塞的HTTP

服务器 137

5.2.1 服务器主程序:

HttpServer类 137

5.2.2 具有自动增长的缓冲区的

ChannelIO类 138

5.2.3 负责处理各种事件的

Handler接口 140

5.2.4 负责处理接收连接就绪

事件的AcceptHandler类 140

5.2.5 负责接收HTTP请求和

发送HTTP响应的

RequestHandler类 141

5.2.6 代表HTTP请求的

Request类 143

5.2.7 代表HTTP响应的

Response类 145

5.2.8 代表响应正文的Content

接口及其实现类 147

5.2.9 运行HTTP服务器 149

5.3 小结 150

5.4 练习题 151

第6章 客户端协议处理框架 153

6.1 客户端协议处理框架的

主要类 153

6.2 在客户程序中运用

协议处理框架 154

6.2.1 URL类的用法 154

6.2.2 URLConnection类的用法 156

6.3 实现协议处理框架 160

6.3.1 创建EchoURLConnection

类 161

6.3.2 创建EchoURLStreamHandler

及工厂类 162

6.3.3 创建EchoContentHandler

类及工厂类 163

6.3.4 在EchoClient类中运用

ECHO协议处理框架 165

6.4 小结 166

6.5 练习题 167

第7章 用Swing组件展示

HTML文档 169

7.1 在按钮等组件上展示

HTML文档 170

7.2 用JEditorPane组件

创建简单的浏览器 171

7.3 小结 179

7.4 练习题 179

第8章 基于UDP的

数据报和套接字 181

8.1 UDP协议简介 181

8.2 DatagramPacket类 184

8.2.1 选择数据报的大小 185

8.2.2 读取和设置DatagramPacket

的属性 185

8.2.3 数据格式的转换 186

8.2.4 重用DatagramPacket 187

8.3 DatagramSocket类 189

8.3.1 构造DatagramSocket 189

8.3.2 接收和发送数据报 190

8.3.3 管理连接 190

8.3.4 关闭DatagramSocket 191

8.3.5 DatagramSocket的选项 191

8.3.6 IP服务类型选项 193

8.4 DatagramChannel类 193

8.4.1 创建DatagramChannel 194

8.4.2 管理连接 194

8.4.3 用send()方法发送数据报 194

8.4.4 用receive()方法接

收数据报 195

8.4.5 用write()方法发送数据报 198

8.4.6 用read()方法接收数据报 199

8.5 组播Socket 202

8.5.1 MulticastSocket类 205

8.5.2 组播Socket的范例 207

8.6 小结 209

8.7 练习题 210

第9章 对象的序列化与反序列化 213

9.1 JDK类库中的序列化API 213

9.2 实现Serializable接口 218

9.2.1 序列化对象图 220

9.2.2 控制序列化的行为 222

9.2.3 readResolve()方法在

单例类中的运用 229

9.3 实现Externalizable接口 231

9.4 可序列化类的不同

版本的序列化兼容性 233

9.5 小结 235

9.6 练习题 236

第10章 Java语言的反射机制 239

10.1 Java Reflection API简介 239

10.2 在远程方法调用中运用

反射机制 244

10.3 代理模式 248

10.3.1 静态代理类 248

10.3.2 动态代理类 250

10.3.3 在远程方法调用中

运用代理类 253

10.4 小结 258

10.5 练习题 259

第11章 RMI框架 261

11.1 RMI的基本原理 262

11.2 创建第一个RMI应用 264

11.2.1 创建远程接口 264

11.2.2 创建远程类 265

11.2.3 创建服务器程序 267

11.2.4 创建客户程序 269

11.2.5 运行RMI应用 270

11.3 远程对象工厂设计模式 272

11.4 远程方法中的参数与

返回值传递 277

11.5 回调客户端的远程对象 281

11.6 远程对象的并发访问 286

11.7 分布式垃圾收集 289

11.8 远程对象的equals()、

hashCode()和clone()方法 294

11.9 使用安全管理器 294

11.10 RMI应用的部署及类的

动态加载 295

11.11 远程激活 297

11.12 小结 303

11.13 练习题 304

第12章 通过JDBC API

访问数据库 305

12.1 JDBC的实现原理 306

12.2 安装和配置MySQL

数据库 308

12.3 JDBC API简介 310

12.4 JDBC API的基本用法 314

12.4.1 处理字符编码的转换 317

12.4.2 把连接数据库的各种

属性放在配置文件中 318

12.4.3 管理Connection、Statement

和ResultSet对象的

生命周期 321

12.4.4 执行SQL脚本文件 326

12.4.5 处理SQLException 328

12.4.6 输出JDBC日志 329

12.4.7 获得新插入记录的

主键值 329

12.4.8 设置批量抓取属性 330

12.4.9 检测驱动器使用的

JDBC版本 330

12.4.10 元数据 331

12.5 可滚动及可更新的结果集 333

12.6 行集 339

12.7 调用存储过程 346

12.8 处理Blob和Clob

类型数据 347

12.9 控制事务 351

12.9.1 事务的概念 351

12.9.2 声明事务边界的概念 353

12.9.3 在mysql.exe程序中

声明事务 354

12.9.4 通过JDBC API

声明事务边界 356

12.9.5 保存点 357

12.9.6 批量更新 358

12.9.7 设置事务隔离级别 360

12.10 数据库连接池 362

12.10.1 创建连接池 363

12.10.2 DataSource数据源 369

12.11 小结 371

12.12 练习题 372

第13章 基于MVC和RMI的

分布式应用 375

13.1 MVC设计模式简介 375

13.2 store应用简介 377

13.3 创建视图 381

13.4 创建控制器 389

13.5 创建模型 390

13.6 创建独立应用 394

13.7 创建分布式应用 395

13.8 小结 398

13.9 练习题 398

第14章 通过JavaMail API

收发邮件 401

14.1 E-mail协议简介 401

14.1.1 SMTP简单邮件

传输协议 401

14.1.2 POP3邮局协议 402

14.1.3 接收邮件的新

协议IMAP 402

14.1.4 MIME简介 403

14.2 JavaMail API简介 403

14.3 建立JavaMail应用程序的

开发环境 405

14.3.1 获得JavaMail API

的类库 405

14.3.2 安装和配置邮件服务器 406

14.4 创建JavaMail

应用程序 408

14.5 身份验证 412

14.6 URLName类 416

14.7 创建和读取复杂

电子邮件 418

14.7.1 邮件地址 419

14.7.2 邮件头部 420

14.7.3 邮件标记 421

14.7.4 邮件正文 422

14.8 操纵邮件夹 427

14.9 小结 432

14.10 练习题 433

第15章 安全网络通信 435

15.1 SSL简介 435

15.1.1 加密通信 436

15.1.2 安全证书 436

15.1.3 SSL握手 437

15.1.4 创建自我签名的

安全证书 438

15.2 JSSE简介 439

15.2.1 KeyStore、KeyManager

与TrustManager类 442

15.2.2 SSLContext类 443

15.2.3 SSLServerSocketFactory

类 444

15.2.4 SSLSocketFactory类 444

15.2.5 SSLSocket类 444

15.2.6 SSLServerSocket类 447

15.2.7 SSLEngine类 448

15.3 创建基于SSL的安全

服务器和安全客户 453

15.4 小结 457

15.5 练习题 457

第16章 CORBA简介 459

16.1 创建IDL接口 460

16.2 创建IDL接口的实现类 460

16.3 创建服务器程序 461

16.4 创建客户程序 462

16.5 运行CORBA程序 463

16.6 小结 464

16.7 练习题 465

第17章 Web服务简介 467

17.1 SOAP简介 467

17.2 建立Apache AXIS环境 469

17.3 在Tomcat上发布

Apache-AXIS Web应用 470

17.4 创建SOAP服务 471

17.4.1 创建提供SOAP

服务的Java类 471

17.4.2 创建SOAP服务的

发布描述符文件 471

17.5 管理SOAP服务 472

17.5.1 发布SOAP服务 472

17.5.2 删除SOAP服务 473

17.6 创建和运行SOAP

客户程序 473

17.7 发布JWS服务 476

17.8 小结 476

17.9 练习题 477

附录A 本书范例的运行方法 479

A.1 本书所用软件的下载地址 479

A.2 部分软件的安装 479

A.2.1 安装JDK 480

A.2.2 安装ANT 480

A.2.3 安装Tomcat 481

A.3 编译源程序 481

A.4 运行客户/服务器程序 482

资源截图:

《Java网络编程精解(孙卫琴)》PDF 下载