Java网络编程(第三版)
基本信息
- 原书名: JAVA Network Programming,Third Edition
- 原出版社: O'Reilly
- 作者: (美)Elliotte Rusty Harold [作译者介绍]
- 译者: 朱涛江 林剑
- 丛书名: O'Reilly Java系列
- 出版社:中国电力出版社
- ISBN:7508338405
- 上架时间:2005-12-9
- 出版日期:2005 年11月
- 开本:16开
- 页码:718
- 版次:3-1
- 所属分类:
计算机 > 软件与程序设计 > JAVA(J#) > Java
编辑推荐
“直到找到这本书之后,我才开始理解Java网络编程。”
——Bruce Eckel,《Thinking in Java》的作者
内容简介回到顶部↑
《java网络编程》第三版会为你介绍java网络api的最新特性。本书讨论了jdk 1.4和1.5(现在已命名为j2se 5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(rmi)等各方面的内容,书中章节涉及到tcp和udp socket、服务器socket、url和uri、组播以及特殊用途的api(如javamail)等等。本书展示了如何使用jsse编写安全的网络应用程序,解释了如何使用nio api编写超高性能的服务器。它还涵盖了java对网络代理、web cookie和url缓存的支持。
《java网络编程》不仅仅是对api的解释:它还展示了如何使用api。本书有很多示例,包含了几千行可以实际工作的代码(所有代码都可以在线获得),实现了功能完整的网络客户端和服务器。无论是希望编写特殊用途的web服务器、安全的在线订单接收程序、简单的组播代理还是电子邮件客户端,都会找到可供学习和借用的代码。
本书适合熟悉java语言的读者的编程人员和计算机专业的学生阅读。
《java网络编程》不仅仅是对api的解释:它还展示了如何使用api。本书有很多示例,包含了几千行可以实际工作的代码(所有代码都可以在线获得),实现了功能完整的网络客户端和服务器。无论是希望编写特殊用途的web服务器、安全的在线订单接收程序、简单的组播代理还是电子邮件客户端,都会找到可供学习和借用的代码。
本书适合熟悉java语言的读者的编程人员和计算机专业的学生阅读。
作译者回到顶部↑
本书提供作译者介绍
Elliotte Rusty Harold是牛奶咖啡网站的作者,这是一个重要的在线资源,提供了有关Java的新闻。他还是XOM API的开发者,也是《Java I/O》、《XML in a Nutshell》及很多有关Java和XML主题图书的作者。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
前言 1
第一章 java网络编程的原因 13
网络程序的功能 14
安全性 27
等等!还有更多! 29
第二章 基本网络概念 30
网络 30
网络的分层 32
ip、tcp和udp 37
internet 40
客户/服务器模型 46
internet标准 47
第三章 基本web概念 56
uri 56
html、sgml和xml 63
http 65
mime媒体类型 69
服务器端程序 74
第四章 流 78
输出流 79
第一章 java网络编程的原因 13
网络程序的功能 14
安全性 27
等等!还有更多! 29
第二章 基本网络概念 30
网络 30
网络的分层 32
ip、tcp和udp 37
internet 40
客户/服务器模型 46
internet标准 47
第三章 基本web概念 56
uri 56
html、sgml和xml 63
http 65
mime媒体类型 69
服务器端程序 74
第四章 流 78
输出流 79
前言回到顶部↑
Java 在过去十年中的发展着实惊人。既然Java的成长如此快速,而Internet的发展甚至更为迅猛,如果还认为利用Java进行网络编程对许多人来说仍然十分神秘,这就实在让人感到吃惊了。事情并不是这样。事实上,如本书所言,利用Java编写网络程序非常简单。过去在Unix、Windows或Macintosh环境下有过网络编程经验的读者会惊喜地发现,利用Java编写同样的程序将会更为简单。Java核心API包括了完善的接口,可以应用于大多数网络特性(功能)的设计。实际上,对于用C或C++编写的应用层网络程序,用Java编写起来只会更简单而不会更难。本书将尽力向你展示如何利用Java的网络类库快速简洁地编写程序来完成一些常见的网络任务。这些任务包括:
·通过HTTP浏览Web
·解析并表现HTML
·通过SMTP发送电子邮件
·通过POP和IMAP接收电子邮件
·编写多线程服务程序
·在浏览器中安装新协议和内容处理器
·对秘密通信进行加密、身份认证和保证消息完整性
·为网络服务设计GUI客户端
·向服务器端程序发送数据
·使用DNS查找主机
·通过匿名FTP下载文件
·连接socket完成底层网络通信
·通过远程方法调用在多个系统间分发应用程序
Java是第一个提供了如此强大跨平台网络库的语言,可以处理所有这些任务。本书将向你展现这个库的强大能力,同时也会指出其复杂性。本书的目的是使你能够将Java作为一个平台来完成重要的网络编程。为此,本书提供了网络基础的一般背景,并详细讨论了Java对于编写网络程序所提供的便利。你将学习到如何编写Java程序来共享Internet上的数据,从而用于游戏、协作、软件更新、文件传输等等诸多方面。你还将对HTTP、SMTP、TCP/IP及其他支持Internet和Web的协议有深入的了解,明白其底层原理是什么。当你读完本书时,你将会获得必要的知识和一个得力的工具,可以用来创建能够充分利用Internet的下一代软件。
关于第三版
1996年,在本书第一版的第一章中,我用了大量篇幅来谈那种动态的、分布式网络应用程序,我当时就认为使用Java将使这种应用程序成为可能。在编写后来的第二版(以及第三版)时,最激动人心的一个方面是,我看到了几乎所有我预言的应用程序都已得以实现。程序员们使用Java来查询数据库服务器,监视Web页面,控制望远镜,管理多用户游戏等等,这些都是通过使用Java的内在功能来访问Internet。一般意义上的Java,特别是用Java进行网络编程,已经远远超出了广告宣传的范畴,而进入了真正的实用应用程序阶段。并非所有网络软件都用Java编写,但这样的尝试绝不在少数。人们正在努力推翻现有基于C的网络客户和服务器基础设施,而用纯Java取而代之。使用更新协议的客户端如Gnutella和Freenet都选择用Java来编写。要想在不远的将来就完全用Java代替C来完成所有网络编程是不可能的。但是,我们可以看到一个事实,许多人都愿意使用Web浏览器、Web服务器和更多用Java编写的软件,这就足以显示出自1996年以来我们已经走了多远。本书也走过了一段很长的路。第三版有一章全新的内容,描述了自从Java 1.1推出之后在网络编程方面有哪些最重要的发展。我指的当然就是java.nio包中新的I/OAPI。能够完成异步、非阻塞的I/O操作,这个能力对于高性能网络应用程序(尤其是服务器)来讲,是至关重要的。这消除了使用Java编写网络服务程序最后的障碍。其他许多章节也已经做了相应更新,以便反映和利用这些新的I/O API。Java 1.4和1.5的java.net和支持包中还有大量其他的小调整和更新,这里也都一一涵盖。这一版中涉及的新类包括CookieHandler、SocketAddress、Proxy、NetworkInterface和URI。IPv6已经成为现实,在这一版中也将做全面的介绍。
Java最新的两个发行版本中为现有的类增添了另外的许多方法,它们在相关章节中也有所讨论。我还对书中的很大一部分进行了重新编写,以反映相应的变化情况,这包括一般意义上Java编程的变化,也包括特殊意义上网络编程方面的改变。在此对Applet和CGI程序没有做过多的强调。取而代之,你将发现关于远程代码执行和服务器端环境的更一般的讨论,而不管用何种方法实现。
当然,文字方面也已经过整理。这里仅有一章内容是全新的,但是原有的18章都已得到充分的重新编写和扩展,以适应最新的发展,也使之更加清晰,更具吸引力。希望你能发现此第三版与上一版相比对Java网络编程方面论述得更为充分,更为准确,作为这一领域的教程和参考书,更能让读者乐于接受,相应的生命力也将更长久。
本书组织
·通过HTTP浏览Web
·解析并表现HTML
·通过SMTP发送电子邮件
·通过POP和IMAP接收电子邮件
·编写多线程服务程序
·在浏览器中安装新协议和内容处理器
·对秘密通信进行加密、身份认证和保证消息完整性
·为网络服务设计GUI客户端
·向服务器端程序发送数据
·使用DNS查找主机
·通过匿名FTP下载文件
·连接socket完成底层网络通信
·通过远程方法调用在多个系统间分发应用程序
Java是第一个提供了如此强大跨平台网络库的语言,可以处理所有这些任务。本书将向你展现这个库的强大能力,同时也会指出其复杂性。本书的目的是使你能够将Java作为一个平台来完成重要的网络编程。为此,本书提供了网络基础的一般背景,并详细讨论了Java对于编写网络程序所提供的便利。你将学习到如何编写Java程序来共享Internet上的数据,从而用于游戏、协作、软件更新、文件传输等等诸多方面。你还将对HTTP、SMTP、TCP/IP及其他支持Internet和Web的协议有深入的了解,明白其底层原理是什么。当你读完本书时,你将会获得必要的知识和一个得力的工具,可以用来创建能够充分利用Internet的下一代软件。
关于第三版
1996年,在本书第一版的第一章中,我用了大量篇幅来谈那种动态的、分布式网络应用程序,我当时就认为使用Java将使这种应用程序成为可能。在编写后来的第二版(以及第三版)时,最激动人心的一个方面是,我看到了几乎所有我预言的应用程序都已得以实现。程序员们使用Java来查询数据库服务器,监视Web页面,控制望远镜,管理多用户游戏等等,这些都是通过使用Java的内在功能来访问Internet。一般意义上的Java,特别是用Java进行网络编程,已经远远超出了广告宣传的范畴,而进入了真正的实用应用程序阶段。并非所有网络软件都用Java编写,但这样的尝试绝不在少数。人们正在努力推翻现有基于C的网络客户和服务器基础设施,而用纯Java取而代之。使用更新协议的客户端如Gnutella和Freenet都选择用Java来编写。要想在不远的将来就完全用Java代替C来完成所有网络编程是不可能的。但是,我们可以看到一个事实,许多人都愿意使用Web浏览器、Web服务器和更多用Java编写的软件,这就足以显示出自1996年以来我们已经走了多远。本书也走过了一段很长的路。第三版有一章全新的内容,描述了自从Java 1.1推出之后在网络编程方面有哪些最重要的发展。我指的当然就是java.nio包中新的I/OAPI。能够完成异步、非阻塞的I/O操作,这个能力对于高性能网络应用程序(尤其是服务器)来讲,是至关重要的。这消除了使用Java编写网络服务程序最后的障碍。其他许多章节也已经做了相应更新,以便反映和利用这些新的I/O API。Java 1.4和1.5的java.net和支持包中还有大量其他的小调整和更新,这里也都一一涵盖。这一版中涉及的新类包括CookieHandler、SocketAddress、Proxy、NetworkInterface和URI。IPv6已经成为现实,在这一版中也将做全面的介绍。
Java最新的两个发行版本中为现有的类增添了另外的许多方法,它们在相关章节中也有所讨论。我还对书中的很大一部分进行了重新编写,以反映相应的变化情况,这包括一般意义上Java编程的变化,也包括特殊意义上网络编程方面的改变。在此对Applet和CGI程序没有做过多的强调。取而代之,你将发现关于远程代码执行和服务器端环境的更一般的讨论,而不管用何种方法实现。
当然,文字方面也已经过整理。这里仅有一章内容是全新的,但是原有的18章都已得到充分的重新编写和扩展,以适应最新的发展,也使之更加清晰,更具吸引力。希望你能发现此第三版与上一版相比对Java网络编程方面论述得更为充分,更为准确,作为这一领域的教程和参考书,更能让读者乐于接受,相应的生命力也将更长久。
本书组织








点击看大图




加载中...


