Java网络编程精解

出版时间:2007-3  出版社:电子工业  作者:孙卫琴  页数:482  
Tag标签:无  

内容概要

  本书结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于最新的JDK 1.5版本,书中内容包括:Java网络编程的基础知识、套接字编程、非阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全网络通信、CORBA和Web服务。另外,本书还涵盖了Sun公司的SCJD(Sun Certified Java Developer)认证的考试要点。  书中范例源文件请到的“下载专区”下载。  阅读本书,读者不仅可以掌握网络编程的实用技术,还可以进一步提高按照面向对象的思想来设计和编写Java软件的能力。本书适用于所有Java编程人员,包括Java初学者及资深Java开发人员。本书还可作为高校的Java教材,以及企业的Java培训教材,也可作为Sun公司SCJD认证的辅导教材。

作者简介

  孙卫琴(LindaSun),畅销图书《精通Struts:基于MVC的Java Web设计与开发》的作者,IT女性作家。 1975年出生,1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,还从事过J2EE培训和咨询。  自2002年首部作品问世以来,孙卫琴一直专注于开源技术图书创作。孙卫琴以她女性独特的视角和细腻的文风开辟了自己的写作天地。2004年是孙卫琴丰收的一年,也是Java开源技术图书市场充满亮点的一年,由孙卫琴撰写的《精通Struts: 基于MVC的Java Web设计与开发》、《Tomcat与Java Web开发技术详解》两本书是2004年国内原创图书市场的惊喜。截止到2005年5月,两本图书都已经达到6次印刷,以如此专业性强的图书而获得一致好评和空前的市场成功在今日的IT图书市场上实属惊人。

书籍目录

第1章 Java网络编程入门	11.1 进程之间的通信	11.2 计算机网络的概念	31.3 OSI参考模型	51.4 TCP/IP参考模型和TCP/IP协议	81.4.1 IP协议	111.4.2 TCP协议及端口	141.4.3 RFC简介	151.4.4 客户/服务器通信模式	161.5 用Java编写客户/服务器程序	171.5.1 创建EchoServer	181.5.2 创建EchoClient	201.6 小结	221.7 练习题	23第2章 Socket用法详解	252.1 构造Socket	252.1.1 设定等待建立连接的超时时间	262.1.2 设定服务器的地址	262.1.3 设定客户端的地址	272.1.4 客户连接服务器时可能抛出的异常	272.2 获取Socket的信息	302.3 关闭Socket	322.4 半关闭Socket	332.5 设置Socket的选项	382.5.1 TCP_NODELAY选项	382.5.2 SO_RESUSEADDR选项	382.5.3 SO_TIMEOUT选项	392.5.4 SO_LINGER选项	422.5.5 SO_RCVBUF选项	442.5.6 SO_SNDBUF选项	452.5.7 SO_KEEPALIVE选项	452.5.8 OOBINLINE选项	452.5.9 服务类型选项	452.5.10 设定连接时间、延迟和带宽的相对重要性	462.6 发送邮件的SMTP客户程序	472.7 小结	512.8 练习题	52第3章 ServerSocket用法详解	553.1 构造ServerSocket	553.1.1 绑定端口	553.1.2 设定客户连接请求队列的长度	563.1.3 设定绑定的IP地址	583.1.4 默认构造方法的作用	583.2 接收和关闭与客户的连接	593.3 关闭ServerSocket	603.4 获取ServerSocket的信息	603.5 ServerSocket选项	623.5.1 SO_TIMEOUT选项	623.5.2 SO_REUSEADDR选项	633.5.3 SO_RCVBUF选项	643.5.4 设定连接时间、延迟和带宽的相对重要性	643.6 创建多线程的服务器	653.6.1 为每个客户分配一个线程	653.6.2 创建线程池	673.6.3 使用JDK类库提供的线程池	723.6.4 使用线程池的注意事项	743.7 关闭服务器	763.8 小结	803.9 练习题	81第4章 非阻塞通信	834.1 线程阻塞的概念	834.1.1 线程阻塞的原因	834.1.2 服务器程序用多线程处理阻塞通信的局限	844.1.3 非阻塞通信的基本思想	854.2 java.nio包中的主要类	874.2.1 缓冲区Buffer	884.2.2 字符编码Charset	904.2.3 通道Channel	904.2.4 SelectableChannel类	924.2.5 ServerSocketChannel类	934.2.6 SocketChannel类	934.2.7 Selector类	964.2.8 SelectionKey类	974.3 服务器编程范例	1004.3.1 创建阻塞的EchoServer	1004.3.2 创建非阻塞的EchoServer	1034.3.3 在EchoServer中混合用阻塞模式与非阻塞模式	1104.4 客户端编程范例	1144.4.1 创建阻塞的EchoClient	1144.4.2 创建非阻塞的EchoClient	1164.4.3 创建非阻塞的PingClient	1204.5 小结	1264.6 练习题	127第5章 创建非阻塞的HTTP服务器	1295.1 HTTP协议简介	1295.1.1 HTTP请求格式	1295.1.2 HTTP响应格式	1325.1.3 测试HTTP请求	1335.2 创建非阻塞的HTTP服务器	1375.2.1 服务器主程序:HttpServer类	1375.2.2 具有自动增长的缓冲区的ChannelIO类	1385.2.3 负责处理各种事件的Handler接口	1405.2.4 负责处理接收连接就绪事件的AcceptHandler类	1405.2.5 负责接收HTTP请求和发送HTTP响应的RequestHandler类	1415.2.6 代表HTTP请求的Request类	1435.2.7 代表HTTP响应的Response类	1455.2.8 代表响应正文的Content接口及其实现类	1475.2.9 运行HTTP服务器	1495.3 小结	1505.4 练习题	151第6章 客户端协议处理框架	1536.1 客户端协议处理框架的主要类	1536.2 在客户程序中运用协议处理框架	1546.2.1 URL类的用法	1546.2.2 URLConnection类的用法	1566.3 实现协议处理框架	1606.3.1 创建EchoURLConnection类	1616.3.2 创建EchoURLStreamHandler及工厂类	1626.3.3 创建EchoContentHandler类及工厂类	1636.3.4 在EchoClient类中运用ECHO协议处理框架	1656.4 小结	1666.5 练习题	167第7章 用Swing组件展示HTML文档	1697.1 在按钮等组件上展示HTML文档	1707.2 用JEditorPane组件创建简单的浏览器	1717.3 小结	1797.4 练习题	179第8章 基于UDP的数据报和套接字	1818.1 UDP协议简介	1818.2 DatagramPacket类	1848.2.1 选择数据报的大小	1858.2.2 读取和设置DatagramPacket的属性	1858.2.3 数据格式的转换	1868.2.4 重用DatagramPacket	1878.3 DatagramSocket类	1898.3.1 构造DatagramSocket	1898.3.2 接收和发送数据报	1908.3.3 管理连接	1908.3.4 关闭DatagramSocket	1918.3.5 DatagramSocket的选项	1918.3.6 IP服务类型选项	1938.4 DatagramChannel类	1938.4.1 创建DatagramChannel	1948.4.2 管理连接	1948.4.3 用send()方法发送数据报	1948.4.4 用receive()方法接收数据报	1958.4.5 用write()方法发送数据报	1988.4.6 用read()方法接收数据报	1998.5 组播Socket	2028.5.1 MulticastSocket类	2058.5.2 组播Socket的范例	2078.6 小结	2098.7 练习题	210第9章 对象的序列化与反序列化	2139.1 JDK类库中的序列化API	2139.2 实现Serializable接口	2189.2.1 序列化对象图	2209.2.2 控制序列化的行为	2229.2.3 readResolve()方法在单例类中的运用	2299.3 实现Externalizable接口	2319.4 可序列化类的不同版本的序列化兼容性	2339.5 小结	2359.6 练习题	236第10章 Java语言的反射机制	23910.1 Java Reflection API简介	23910.2 在远程方法调用中运用反射机制	24410.3 代理模式	24810.3.1 静态代理类	24810.3.2 动态代理类	25010.3.3 在远程方法调用中运用代理类	25310.4 小结	25810.5 练习题	259第11章 RMI框架	26111.1 RMI的基本原理	26211.2 创建第一个RMI应用	26411.2.1 创建远程接口	26411.2.2 创建远程类	26511.2.3 创建服务器程序	26711.2.4 创建客户程序	26911.2.5 运行RMI应用	27011.3 远程对象工厂设计模式	27211.4 远程方法中的参数与返回值传递	27711.5 回调客户端的远程对象	28111.6 远程对象的并发访问	28611.7 分布式垃圾收集	28911.8 远程对象的equals()、hashCode()和clone()方法	29411.9 使用安全管理器	29411.10 RMI应用的部署及类的动态加载	29511.11 远程激活	29711.12 小结	30311.13 练习题	304第12章 通过JDBC API访问数据库	30512.1 JDBC的实现原理	30612.2 安装和配置MySQL数据库	30812.3 JDBC API简介	31012.4 JDBC API的基本用法	31412.4.1 处理字符编码的转换	31712.4.2 把连接数据库的各种属性放在配置文件中	31812.4.3 管理Connection、Statement和ResultSet对象的生命周期	32112.4.4 执行SQL脚本文件	32612.4.5 处理SQLException	32812.4.6 输出JDBC日志	32912.4.7 获得新插入记录的主键值	32912.4.8 设置批量抓取属性	33012.4.9 检测驱动器使用的JDBC版本	33012.4.10 元数据	33112.5 可滚动及可更新的结果集	33312.6 行集	33912.7 调用存储过程	34612.8 处理Blob和Clob类型数据	34712.9 控制事务	35112.9.1 事务的概念	35112.9.2 声明事务边界的概念	35312.9.3 在mysql.exe程序中声明事务	35412.9.4 通过JDBC API声明事务边界	35612.9.5 保存点	35712.9.6 批量更新	35812.9.7 设置事务隔离级别	36012.10 数据库连接池	36212.10.1 创建连接池	36312.10.2 DataSource数据源	36912.11 小结	37112.12 练习题	372第13章 基于MVC和RMI的分布式应用	37513.1 MVC设计模式简介	37513.2 store应用简介	37713.3 创建视图	38113.4 创建控制器	38913.5 创建模型	39013.6 创建独立应用	39413.7 创建分布式应用	39513.8 小结	39813.9 练习题	398第14章 通过JavaMail API收发邮件	40114.1 E-mail协议简介	40114.1.1 SMTP简单邮件传输协议	40114.1.2 POP3邮局协议	40214.1.3 接收邮件的新协议IMAP	40214.1.4 MIME简介	40314.2 JavaMail API简介	40314.3 建立JavaMail应用程序的开发环境	40514.3.1 获得JavaMail API的类库	40514.3.2 安装和配置邮件服务器	40614.4 创建JavaMail应用程序	40814.5 身份验证	41214.6 URLName类	41614.7 创建和读取复杂电子邮件	41814.7.1 邮件地址	41914.7.2 邮件头部	42014.7.3 邮件标记	42114.7.4 邮件正文	42214.8 操纵邮件夹	42714.9 小结	43214.10 练习题	433第15章 安全网络通信	43515.1 SSL简介	43515.1.1 加密通信	43615.1.2 安全证书	43615.1.3 SSL握手	43715.1.4 创建自我签名的安全证书	43815.2 JSSE简介	43915.2.1 KeyStore、KeyManager与TrustManager类	44215.2.2 SSLContext类	44315.2.3 SSLServerSocketFactory类	44415.2.4 SSLSocketFactory类	44415.2.5 SSLSocket类	44415.2.6 SSLServerSocket类	44715.2.7 SSLEngine类	44815.3 创建基于SSL的安全服务器和安全客户	45315.4 小结	45715.5 练习题	457第16章 CORBA简介	45916.1 创建IDL接口	46016.2 创建IDL接口的实现类	46016.3 创建服务器程序	46116.4 创建客户程序	46216.5 运行CORBA程序	46316.6 小结	46416.7 练习题	465第17章 Web服务简介	46717.1 SOAP简介	46717.2 建立Apache AXIS环境	46917.3 在Tomcat上发布Apache-AXIS Web应用	47017.4 创建SOAP服务	47117.4.1 创建提供SOAP服务的Java类	47117.4.2 创建SOAP服务的发布描述符文件	47117.5 管理SOAP服务	47217.5.1 发布SOAP服务	47217.5.2 删除SOAP服务	47317.6 创建和运行SOAP客户程序	47317.7 发布JWS服务	47617.8 小结	47617.9 练习题	477附录A 本书范例的运行方法	479A.1 本书所用软件的下载地址	479A.2 部分软件的安装	479A.2.1 安装JDK	480A.2.2 安装ANT	480A.2.3 安装Tomcat	481A.3 编译源程序	481A.4 运行客户/服务器程序	482

编辑推荐

  知名IT女作家孙卫琴老师2007年度新作,《Java面向对象编程》的姊妹篇。本书结合大量典性的实例,详细介绍了用Java来编写网络应用程序的技术。  Java语言是第一个完全融入网络的语言,Java语言之所以适合编写网络应用程序,归功于它的以下优势:.  (1)Java语言与生俱来就是平台无关的。Java程序能够运行在不同的平台上,运行在不同平台上的Java程序能够方便的进行网络通信。  (2)Java语言具有完善的安全机制,可以对程序进行权限检查。这对网络程序至关重要。  (3)JDK类库提供了丰富的网络类库(如套节字API、JavaMail API和JDBC API等),大大简化了网络程序的开发过程。  本书将展示如何利用Java网络类库来快速便捷的创建网络应用程序,致力于完成以下任务:  ·实现访问HTTP服务器的客户程序。  ·实现HTTP服务器。  ·实现多线程的服务器,以及非阻塞的服务器。  ·解析并展示HTML页面。  ·通过JDBC API访问数据库。  ·通过JavaMail API接收和发送电子邮件。  ·利用RMI框架实现分布式的软件系统。  ·进行安全的网络通信,对数据加密,验证身份,保证数据的完整性。  ·利用CORBA和Web服务实现分布式的软件系统。  阅读本书,读者不仅可以掌握网络编程的实用技术,还可以进一步提高按照面向对象的思想来设计和编写Java软件的能力。本书适用于所有Java编程人员,包括Java初学者及资深Java开发人员。本书还可作为高校的Java教材,以及企业Java培训教材,也可作为Sun公司的SCJD认证的辅导教材。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Java网络编程精解 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7