当前位置:主页 > 计算机电子书 > Java > Java编程下载
Java网络编程精解

Java网络编程精解 PDF 高清版

  • 更新:2021-11-30
  • 大小:47 MB
  • 类别:Java编程
  • 作者:孙卫琴
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于的JDK 1.5版本,书中内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务。另外,本书还涵盖了Sun公司的SCJD(Sun Certified Java Developer)认证的考试要点。

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

阅读本书,读者不仅可以掌握网络编程的实用技术,还可以进一步提高按照面向对象的思想来设计和编写Java软件的能力。本书适用于所有Java编程人员,包括Java初学者及资深Java开发人员。本书还可作为高校的Java教材,以及企业的Java培训教材,也可作为Sun公司SCJD认证的辅导教材。

目录

  • 第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 创建EchoServer18
  • 1.5.2 创建EchoClient20
  • 1.6 小结22
  • 1.7 练习题23
  • 第2章 Socket用法详解25
  • 2.1 构造Socket25
  • 2.1.1 设定等待建立连接的
  • 超时时间26
  • 2.1.2 设定服务器的地址26
  • 2.1.3 设定客户端的地址27
  • 2.1.4 客户连接服务器时
  • 可能抛出的异常27
  • 2.2 获取Socket的信息30
  • 2.3 关闭Socket32
  • 2.4 半关闭Socket33
  • 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 构造ServerSocket55
  • 3.1.1 绑定端口55
  • 3.1.2 设定客户连接请求
  • 队列的长度56
  • 3.1.3 设定绑定的IP地址58
  • 3.1.4 默认构造方法的作用58
  • 3.2 接收和关闭与客户的连接59
  • 3.3 关闭ServerSocket60
  • 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 缓冲区Buffer88
  • 4.2.2 字符编码Charset90
  • 4.2.3 通道Channel90
  • 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 创建阻塞的EchoServer100
  • 4.3.2 创建非阻塞的EchoServer103
  • 4.3.3 在EchoServer中混合用
  • 阻塞模式与非阻塞模式110
  • 4.4 客户端编程范例114
  • 4.4.1 创建阻塞的EchoClient114
  • 4.4.2 创建非阻塞的EchoClient116
  • 4.4.3 创建非阻塞的PingClient120
  • 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 重用DatagramPacket187
  • 8.3 DatagramSocket类189
  • 8.3.1 构造DatagramSocket189
  • 8.3.2 接收和发送数据报190
  • 8.3.3 管理连接190
  • 8.3.4 关闭DatagramSocket191
  • 8.3.5 DatagramSocket的选项191
  • 8.3.6 IP服务类型选项193
  • 8.4 DatagramChannel类193
  • 8.4.1 创建DatagramChannel194
  • 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 组播Socket202
  • 8.5.1 MulticastSocket类205
  • 8.5.2 组播Socket的范例207
  • 8.6 小结209
  • 8.7 练习题210
  • 第9章 对象的序列化与反序列化213
  • 9.1 JDK类库中的序列化API213
  • 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 处理SQLException328
  • 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 接收邮件的新
  • 协议IMAP402
  • 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 安装JDK480
  • A.2.2 安装ANT480
  • A.2.3 安装Tomcat481
  • A.3 编译源程序481
  • A.4 运行客户/服务器程序482

资源下载

资源下载地址1:https://pan.baidu.com/s/1PKj71GQbt4edbLkXCtEnPA

相关资源

网友留言