第1章 Java网络程序设计基础 1
1.1 Java语言 1
1.2 网络基础知识 5
1.3 网络程序设计基础 10
本章小结 13
习题 13
第2章 Internet寻址 14
2.1 创建InetAddress对象 14
2.2 根据域名查找IP地址 19
2.3 根据IP地址查找主机名 22
2.4 Inet4Address类和Inet6Address类 25
本章小结 27
习题 27
第3章 URL通信 28
3.1 统一资源定位器(URL) 28
3.2 URL类 28
3.3 URL类的应用 29
3.4 URLConnection类 32
3.5 URLConnection类的应用 33
本章小结 36
习题 37
第4章 套接字 38
4.1 客户端套接字(Socket) 38
4.2 服务器套接字(ServerSocket) 41
4.3 利用Socket进行Java网络编程 43
4.4 Socket编程示例 46
本章小结 60
习题 61
第5章 数据报套接字 62
5.1 数据报套接字概述 62
5.2 DatagramSocket编程示例 67
5.3 组播套接字 74
5.4 组播套接字编程示例 79
本章小结 89
习题 89
第6章 多线程 92
6.1 在Java中实现多线程 92
6.2 线程的五种状态 94
6.3 线程的优先级 96
6.4 线程的同步 97
6.5 线程的阻塞 98
6.6 守护线程 99
6.7 线程组 101
本章小结 103
习题 103
第7章 非阻塞Socket通信 104
7.1 阻塞和非阻塞通信 104
7.2 非阻塞通信中的几个类 105
7.3 使用Java NIO提高服务端程序的性能 106
7.4 使用NIO编写高性能的服务器 107
7.5 非阻塞编程实例 112
本章小结 114
习题 114
第8章 对象序列化 115
8.1 JDK类库中的序列化API 115
8.2 实现Serializable接口 117
8.3 通过Socket传递Java对象 118
8.4 对象序列化的安全 120
8.5 实现Externalizable接口 120
8.6 可序列化类的不同版本的序列化兼容性 121
本章小结 121
习题 121
第9章 套接字安全 122
9.1 数字签名 122
9.2 通过数字签名传递对象 123
9.3 SSL 127
本章小结 133
习题 133
第10章 远程方法调用 134
10.1 RMI概述 134
10.2 创建远程方法调用 136
10.3 远程方法调用的工作原理 138
10.4 RMI开发步骤 139
10.5 RMI与CORBA的关系 146
10.6 RMI与对象序列化 146
本章小结 146
习题 147
第11章 代理服务器 148
11.1 代理服务器概述 148
11.2 用Java开发代理服务器 149
11.3 直接使用Proxy创建连接 154
11.4 使用ProxySelector选择代理服务器 156
本章小结 158
习题 158
第12章 HTTP断点续传下载 159
12.1 断点续传的工作原理 159
12.2 实现断点续传下载 160
本章小结 167
习题 167
第13章 电子邮件的发送和接收 168
13.1 发送和接收邮件协议 168
13.2 发送接收邮件 170
本章小结 175
习题 176
第14章 FTP服务器 177
14.1 FTP工作原理 177
14.2 FTP命令 177
14.3 服务器主函数设计 178
14.4 FTP命令的处理 178
本章小结 181
习题 181
第15章 Web服务器 182
15.1 HTTP协议 182
15.2 Web服务器功能的程序设计 182
本章小结 188
习题 188
第16章 JSP和Servlet技术 189
16.1 网络应用的系统结构 189
16.2 J2EE技术 190
16.3 JSP简介 194
16.4 JSP示例 195
16.5 JSP语法 196
16.6 JSP应用程序接口 202
16.7 Servlet简介 203
16.8 创建HttpServlet 205
16.9 调用Servlet 207
本章小结 209
习题 209
参考文献 211