计算机
类型
可以朗读
语音朗读
326千字
字数
2020-03-01
发行日期
展开全部
主编推荐语
精通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月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。