展开全部

主编推荐语

精通Java网络编程、JDK10实例、全面覆盖关键技术。

内容简介

本书结合大量典性的实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于最新的JDK10版本。本书内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、XML数据处理和Web服务。

目录

  • 封面
  • 前折页
  • 书名页
  • 内容简介
  • 版权页
  • 推荐序
  • 前 言
  • 目录
  • 第1章 Java网络编程入门
  • 1.1 进程之间的通信
  • 1.2 计算机网络的概念
  • 1.3 OSI参考模型
  • 1.4 TCP/IP参考模型和TCP/IP
  • 1.4.1 IP
  • 1.4.2 TCP以及端口
  • 1.4.3 RFC简介
  • 1.4.4 客户/服务器通信模式
  • 1.5 用Java编写客户/服务器程序
  • 1.5.1 创建EchoServer
  • 1.5.2 创建EchoClient
  • 1.6 小结
  • 1.7 练习题
  • 第2章 Socket用法详解
  • 2.1 构造Socket
  • 2.1.1 设定等待建立连接的超时时间
  • 2.1.2 设定服务器的地址
  • 2.1.3 设定客户端的地址
  • 2.1.4 客户连接服务器时可能抛出的异常
  • 2.1.5 使用代理服务器
  • 2.1.6 InetAddress地址类的用法
  • 2.1.7 NetworkInterface类的用法
  • 2.2 获取Socket的信息
  • 2.3 关闭Socket
  • 2.4 半关闭Socket
  • 2.5 设置Socket的选项
  • 2.5.1 TCP_NODELAY选项
  • 2.5.2 SO_RESUSEADDR选项
  • 2.5.3 SO_TIMEOUT选项
  • 2.5.4 SO_LINGER选项
  • 2.5.5 SO_RCVBUF选项
  • 2.5.6 SO_SNDBUF选项
  • 2.5.7 SO_KEEPALIVE选项
  • 2.5.8 OOBINLINE选项
  • 2.5.9 IP服务类型选项
  • 2.5.10 设定连接时间、延迟和带宽的相对重要性
  • 2.6 发送邮件的SMTP客户程序
  • 2.7 小结
  • 2.8 练习题
  • 第3章 ServerSocket用法详解
  • 3.1 构造ServerSocket
  • 3.1.1 绑定端口
  • 3.1.2 设定客户连接请求队列的长度
  • 3.1.3 设定绑定的IP地址
  • 3.1.4 默认构造方法的作用
  • 3.2 接收和关闭与客户的连接
  • 3.3 关闭ServerSocket
  • 3.4 获取ServerSocket的信息
  • 3.5 ServerSocket选项
  • 3.5.1 SO_TIMEOUT选项
  • 3.5.2 SO_REUSEADDR选项
  • 3.5.3 SO_RCVBUF选项
  • 3.5.4 设定连接时间、延迟和带宽的相对重要性
  • 3.6 创建多线程的服务器
  • 3.6.1 为每个客户分配一个线程
  • 3.6.2 创建线程池
  • 3.6.3 使用JDK类库提供的线程池
  • 3.6.4 向线程池提交有异步运算结果的任务
  • 3.6.5 使用线程池的注意事项
  • 3.7 关闭服务器
  • 3.8 小结
  • 3.9 练习题
  • 第4章 非阻塞通信
  • 4.1 线程阻塞的概念
  • 4.1.1 线程阻塞的原因
  • 4.1.2 服务器程序用多线程处理阻塞通信的局限
  • 4.1.3 非阻塞通信的基本思想
  • 4.2 非阻塞通信API的用法
  • 4.2.1 缓冲区
  • 4.2.2 字符编码Charset
  • 4.2.3 通道
  • 4.2.4 SelectableChannel类
  • 4.2.5 ServerSocketChannel类
  • 4.2.6 SocketChannel类
  • 4.2.7 Selector类
  • 4.2.8 SelectionKey类
  • 4.2.9 Channels类
  • 4.2.10 Socket选项
  • 4.3 服务器编程范例
  • 4.3.1 创建阻塞的EchoServer
  • 4.3.2 创建非阻塞的EchoServer
  • 4.3.3 在EchoServer中混合用阻塞模式与非阻塞模式
  • 4.4 客户端编程范例
  • 4.4.1 创建阻塞的EchoClient
  • 4.4.2 创建非阻塞的EchoClient
  • 4.5 异步通道和异步运算结果
  • 4.6 在GUI中用SwingWorker实现异步交互
  • 4.6.1 SwingWorker类的用法
  • 4.6.2 用SwingWorker类来展示进度条
  • 4.6.3 用SwingWorker类实现异步的AsynEchoClient
  • 4.7 小结
  • 4.8 练习题
  • 第5章 创建非阻塞的HTTP服务器
  • 5.1 HTTP简介
  • 5.1.1 HTTP请求格式
  • 5.1.2 HTTP响应格式
  • 5.1.3 测试HTTP请求
  • 5.2 创建非阻塞的HTTP服务器
  • 5.2.1 服务器主程序:HttpServer类
  • 5.2.2 具有自动增长的缓冲区的ChannelIO类
  • 5.2.3 负责处理各种事件的Handler接口
  • 5.2.4 负责处理接收连接就绪事件的AcceptHandler类
  • 5.2.5 负责接收HTTP请求和发送HTTP响应的RequestHandler类
  • 5.2.6 代表HTTP请求的Request类
  • 5.2.7 代表HTTP响应的Response类
  • 5.2.8 代表响应正文的Content接口及其实现类
  • 5.2.9 运行HTTP服务器
  • 5.3 小结
  • 5.4 练习题
  • 第6章 客户端协议处理框架
  • 6.1 客户端协议处理框架的主要类
  • 6.2 在客户程序中运用协议处理框架
  • 6.2.1 URL类的用法
  • 6.2.2 URLConnection类的用法
  • 6.3 实现协议处理框架
  • 6.3.1 创建EchoURLConnection类
  • 6.3.2 创建EchoURLStreamHandler及工厂类
  • 6.3.3 创建EchoContentHandler类及工厂类
  • 6.3.4 在EchoClient类中运用ECHO协议处理框架
  • 6.4 小结
  • 6.5 练习题
  • 第7章 用Swing组件展示HTML文档
  • 7.1 在按钮等组件上展示HTML文档
  • 7.2 用JEditorPane组件创建简单的浏览器
  • 7.2.1 处理HTML页面上的超级链接
  • 7.2.2 处理HTML页面上的表单
  • 7.2.3 创建浏览器程序
  • 7.3 小结
  • 7.4 练习题
  • 第8章 基于UDP的数据报和套接字
  • 8.1 UDP简介
  • 8.2 DatagramPacket类
  • 8.2.1 选择数据报的大小
  • 8.2.2 读取和设置DatagramPacket的属性
  • 8.2.3 数据格式的转换
  • 8.2.4 重用DatagramPacket
  • 8.3 DatagramSocket类
  • 8.3.1 构造DatagramSocket
  • 8.3.2 接收和发送数据报
  • 8.3.3 管理连接
  • 8.3.4 关闭DatagramSocket
  • 8.3.5 DatagramSocket的选项
  • 8.3.6 IP服务类型选项
  • 8.4 DatagramChannel类
  • 8.4.1 创建DatagramChannel
  • 8.4.2 管理连接
  • 8.4.3 用send()方法发送数据报
  • 8.4.4 用receive()方法接收数据报
  • 8.4.5 用write()方法发送数据报
  • 8.4.6 用read()方法接收数据报
  • 8.4.7 Socket选项
  • 8.5 组播
  • 8.5.1 MulticastSocket类
  • 8.5.2 组播Socket的范例
  • 8.6 小结
  • 8.7 练习题
  • 第9章 对象的序列化与反序列化
  • 9.1 JDK类库中的序列化API
  • 9.1.1 把对象序列化到文件
  • 9.1.2 把对象序列化到网络
  • 9.2 实现Serializable接口
  • 9.2.1 序列化对象图
  • 9.2.2 控制序列化的行为
  • 9.2.3 readResolve()方法在单例类中的运用
  • 9.3 实现Externalizable接口
  • 9.4 可序列化类的不同版本的序列化兼容性
  • 9.5 小结
  • 9.6 练习题
  • 第10章 Java语言的反射机制
  • 10.1 Java Reflection API简介
  • 10.2 在远程方法调用中运用反射机制
  • 10.3 代理模式
  • 10.3.1 静态代理类
  • 10.3.2 动态代理类
  • 10.3.3 在远程方法调用中运用代理类
  • 10.4 小结
  • 10.5 练习题
  • 第11章 RMI框架
  • 11.1 RMI的基本原理
  • 11.2 创建第1个RMI应用
  • 11.2.1 创建远程接口
  • 11.2.2 创建远程类
  • 11.2.3 创建服务器程序
  • 11.2.4 创建客户程序
  • 11.2.5 运行RMI应用
  • 11.3 远程对象工厂设计模式
  • 11.4 远程方法中的参数与返回值传递
  • 11.5 回调客户端的远程对象
  • 11.6 远程对象的并发访问
  • 11.7 分布式垃圾收集
  • 11.8 远程对象的equals()、hashCode()和clone()方法
  • 11.9 使用安全管理器
  • 11.10 RMI应用的部署以及类的动态加载
  • 11.11 远程激活
  • 11.12 小结
  • 11.13 练习题
  • 第12章 通过JDBC API访问数据库
  • 12.1 JDBC的实现原理
  • 12.2 安装和配置MySQL数据库
  • 12.3 JDBC API简介
  • 12.4 JDBC API的基本用法
  • 12.4.1 处理字符编码的转换
  • 12.4.2 把连接数据库的各种属性放在配置文件中
  • 12.4.3 管理Connection、Statement和ResultSet对象的生命周期
  • 12.4.4 执行SQL脚本文件
  • 12.4.5 处理SQLException
  • 12.4.6 输出JDBC日志
  • 12.4.7 获得新插入记录的主键值
  • 12.4.8 设置批量抓取属性
  • 12.4.9 检测驱动器使用的JDBC版本
  • 12.4.10 元数据
  • 12.5 可滚动以及可更新的结果集
  • 12.6 行集
  • 12.7 调用存储过程
  • 12.8 处理Blob和Clob类型数据
  • 12.9 控制事务
  • 12.9.1 事务的概念
  • 12.9.2 声明事务边界的概念
  • 12.9.3 在mysql.exe程序中声明事务
  • 12.9.4 通过JDBC API声明事务边界
  • 12.9.5 保存点
  • 12.9.6 批量更新
  • 12.9.7 设置事务隔离级别
  • 12.10 数据库连接池
  • 12.10.1 创建连接池
  • 12.10.2 DataSource数据源
  • 12.11 小结
  • 12.12 练习题
  • 第13章 基于MVC和RMI的分布式应用
  • 13.1 MVC设计模式简介
  • 13.2 store应用简介
  • 13.3 创建视图
  • 13.4 创建控制器
  • 13.5 创建模型
  • 13.6 创建独立应用
  • 13.7 创建分布式应用
  • 13.8 小结
  • 13.9 练习题
  • 第14章 通过JavaMail API收发邮件
  • 14.1 E-mail协议简介
  • 14.1.1 SMTP
  • 14.1.2 POP3
  • 14.1.3 接收邮件的新协议IMAP
  • 14.1.4 MIME简介
  • 14.2 JavaMail API简介
  • 14.3 建立JavaMail应用程序的开发环境
  • 14.3.1 获得JavaMail API的类库
  • 14.3.2 安装和配置邮件服务器
  • 14.4 创建JavaMail应用程序
  • 14.5 身份验证
  • 14.6 授权码验证
  • 14.7 URLName类
  • 14.8 创建和读取复杂电子邮件
  • 14.8.1 邮件地址
  • 14.8.2 邮件头部
  • 14.8.3 邮件标记
  • 14.8.4 邮件正文
  • 14.9 操纵邮件夹
  • 14.10 小结
  • 14.11 练习题
  • 第15章 安全网络通信
  • 15.1 SSL简介
  • 15.1.1 加密通信
  • 15.1.2 安全证书
  • 15.1.3 SSL握手
  • 15.1.4 创建自我签名的安全证书
  • 15.2 JSSE简介
  • 15.2.1 KeyStore、KeyManager与TrustManager类
  • 15.2.2 SSLContext类
  • 15.2.3 SSLServerSocketFactory类
  • 15.2.4 SSLSocketFactory类
  • 15.2.5 SSLSocket类
  • 15.2.6 SSLServerSocket类
  • 15.2.7 SSLEngine类
  • 15.3 创建基于SSL的安全服务器和安全客户
  • 15.4 小结
  • 15.5 练习题
  • 第16章 XML数据处理
  • 16.1 用DOM处理XML文档
  • 16.2 用SAX处理XML文档
  • 16.2.1 创建XML文档的具体处理类CustomerHandler
  • 16.2.2 创建XML文档的解析类SaxDemo
  • 16.3 用JDOM处理XML文档
  • 16.4 用DOM4J处理XML文档
  • 16.5 Java对象的XML序列化和反序列化
  • 16.6 小结
  • 16.7 练习题
  • 第17章 用Axis发布Web服务
  • 17.1 SOAP简介
  • 17.2 建立Apache Axis环境
  • 17.3 在Tomcat上发布Apache-Axis Web应用
  • 17.4 创建SOAP服务
  • 17.4.1 创建提供SOAP服务的Java类
  • 17.4.2 创建SOAP服务的发布描述文件
  • 17.5 发布和管理SOAP服务
  • 17.5.1 发布SOAP服务
  • 17.5.2 管理SOAP服务
  • 17.6 创建和运行SOAP客户程序
  • 17.7 小结
  • 17.8 练习题
  • 第18章 用Spring整合CXF发布Web服务
  • 18.1 创建Web服务接口和实现类
  • 18.2 在Spring配置文件中配置Web服务
  • 18.3 在web.xml配置文件中配置Spring和CXF
  • 18.4 在Tomcat中发布Web服务
  • 18.5 创建和运行客户程序
  • 18.6 小结
  • 18.7 练习题
  • 附录A 本书范例的运行方法
  • 后折页
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。