精通Java网络编程(第二版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-21 21:58:15

点击下载

作者:汪晓平,贾敬习,李功

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

精通Java网络编程(第二版)

精通Java网络编程(第二版)试读:

内容简介

本书由浅入深地讲解了Java网络编程的基本知识,内容全面,涵盖了从网络编程基础知识到远程方法调用(RMI)等各方面的内容。

全书共分15章,主要内容包括Java开发环境的搭建、Java Applet程序的编写、使用JDBC进行数据库操作、JavaBean和Java Servlet、Java输入/输出流和Java线程、InetAddress类封装网络地址查找资源、使用URL以及URLConnection类封装URL地址访问资源、Socket客户端和服务器端进行TCP可靠连接的网络应用、安全套接字SSL Socket以及使用通道进行非阻塞通信,最后介绍了JavaMail电子邮件的收发、RMI(远程方法调用)。

本书提供了很多实例程序,包含很多可以实际工作的代码,实现了功能完整的网络客户端和服务器。无论是希望编写特殊用途的Web服务器程序、安全的网络通信程序,还是电子邮件客户端,都会找到可供学习和可以借鉴的代码。

本书的实例源代码可通过http://www.tupwk.com.cn/downpage下载。

本书可作为高校计算机相关专业的参考教材,对于广大Java网络程序开发人员也具有很大的参考价值。前言INTRODUCTION关于本书

Java技术是Sun公司于1995年推出的一种极富创造力的计算平台。最初称为Oak,1995年被重命名为Java编程语言。

Java由于其面向对象和跨平台的特性而得到了广泛的应用。随着互联网技术的发展,Java在网络编程方面的优势更加突出。Java似乎是专门为网络设计的,用来开发网络应用特别便利。在Internet时代,Java编程语言在网络上的应用越来越广泛,学习和使用Java的人越来越多。

本书使用Eclipse最新版本3.3作为Java网络编程的开发平台。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。本身只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools, JDT)。Eclipse还包括插件开发环境(Plug-in Development Environment, PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,允许构建与Eclipse环境无缝集成的工具。

这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但用途并不限于Java语言。如支持C/C++、COBOL和Eiffel等编程语言的插件已经可用。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,如内容管理系统。

本书使用Tomcat 6作为JavaBean和Java Servlet应用的Web服务器。Tomcat是一个免费的开源的Serlvet容器,是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat不仅仅是一个Servlet容器,也具有传统的Web服务器处理HTML页面的功能。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。

本书的数据库使用Access、SQL Server和MySQL。MySQL是最受欢迎的开源SQL数据库管理系统,由MySQL AB开发、发布和支持。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以嵌入到一个大配置(mass-deployed)的软件中。

本书有以下几个特点。

语言简洁易懂,知识点分类明确,代码注释详尽。

理论联系实际,结合Java网络应用的相关API,提供可用的实例代码,在实际应用中理解Java网络编程。

实例众多,提供了可用的有针对性的实例,可以在工作和学习中直接使用。

讲解Java语言在网络方面的应用,而非语法入门书,主要面向具有一定Java基础的开发者。本书内容组织

本书可以分为两部分,第一部分从第1章到第7章,介绍了Java网络编程的必备知识;第二部分从第7章到第15章,介绍了Java网络编程的主要应用。

第1章介绍了开发环境的搭建以及JDK的安装和配置、Eclipse 3.3的开发界面和Tomcat 6的安装。

第2章和第3章介绍了Java Applet程序的编写以及使用JDBC连接数据库,进行数据库的操作。

第4章和第5章介绍了JavaBean和Java Servlet这两个Java基本的Web网络应用,通过Tomcat容器,开发Internet网络应用。

第6章和第7章介绍了Java网络编程的主要基础知识:输入/输出流和Java线程。网络通信主要是通过流的形式进行的,网络的通信和数据的处理又通过多线程提高处理效率。

第8章和第9章介绍了InetAddress类封装网络地址查找资源、使用URL以及URLConnection类封装URL地址访问资源。

第10章和第11章介绍了客户端Socket和服务器端ServerSocket进行基于TCP的可靠连接的网络应用。

第12章和第13章介绍了SSLSocket进行安全的可靠连接以及使用通道进行非阻塞通信。

第14章介绍了JavaMail电子邮件的收发。

第15章介绍了RMI(远程方法调用)分布式应用的开发。

本书的实例源代码可通过http://www.tupwk.com.cn/downpage下载。

本书是集体智慧的结晶,除封面署名作者外,参加编写的人员还有胡小峰、黄炳强、林一松、刘祎玮、刘海、马志刚、沈炜、师丽红、苏淑滢、汪杰、吴超、徐争前、刘海英、刘洪涛等,在此一并致谢。

由于时间仓促,作者的水平有限,书中不妥之处在所难免,敬请读者批评指正。编 者2008年10月CHAPTER 1Java网络开发前的准备

本章导读

通过本章学习,读者将学习并掌握以下知识:

Java的安装和环境变量的配置

Java开发工具Eclipse以及开发一个简单Java程序的步骤

Eclipse开发简单的HelloWorld程序

EditPlus配置Java编译和运行命令

Java自诞生以来,越来越受到开发者的欢迎,Java的使用也越来越广泛。Java作为面向对象技术的一个代表,在当今商业应用中更容易开发出高效的、多层的分布式应用程序。1.1 Java的安装

Windows版本的Java安装和一般的Windows应用程序一样,运行Java安装文件,安装包开始收集系统信息复制文件,并显示Java图标、版本和公司等信息,如图1-1所示。图1-1 Java信息窗口

接着弹出接受协议对话框,选中“我接受该许可证协议中的条款”单选按钮,单击“下一步”按钮,如图1-2所示。图1-2 接受协议

单击图1-2中的“下一步”按钮,弹出“自定义安装”对话框,如图1-3所示。图1-3 “自定义安装”对话框

在如图1-3所示的对话框中,可以选择需要安装的组件,包括开发工具、演示程序和源代码等,这里采用默认安装即全部安装,通过“更改”按钮选择要安装的路径,这里为D:\jdk,单击“下一步”按钮开始安装JDK,如图1-4所示。图1-4 安装JDK

当图1-4中的进度条快接近末尾的时候,弹出JRE的安装界面,如图1-5所示。图1-5 安装JRE

在图1-5所示的JRE安装界面中,选择需要安装的组件和安装路径,单击“下一步”按钮安装JRE,显示安装进度,如图1-6所示。图1-6 显示JRE安装进度

当图1-6中的JRE安装完成,弹出如图1-7所示的完成安装界面时,说明JDK和JRE已经安装在系统中了。图1-7 JDK安装完成

安装完JDK,在开发Java程序之前,还需要进行Java环境变量的配置。1.2 JDK 6的配置

对Java环境变量的配置,往往需要进行3项设置:JAVA_HOME、PATH和CLASSPATH。JAVA_HOME指明JDK安装路径(Java安装目录),CLASSPATH为Java加载类(Class or Lib)路径,PATH为Java编译程序和运行程序目录。

下面分别通过命令行方式和图形界面方式进行Java环境变量的配置。1.2.1 命令行配置

单击系统“开始”按钮,单击【运行】菜单,在打开的运行窗口中输入CMD命令,打开DOS窗口。

JAVA_HOME变量就是安装时所选择的路径D:\jdk,此路径下包括lib、bin、jre等文件夹。DOS命令如下。Set JAVA_HOME = D:\jdk

编者手记

最好设置JAVA_HOME变量,因为可以使用该变量代替其他Java环境变量中的父级路径。如果以后要运行Tomcat等都可以使用此变量。

Path使得系统可以在任何路径下识别Java命令。DOS命令如下。Set Path=.,%JAVA_HOME%\bin

CLASSPATH为Java加载类(class或lib)路径,只有类在CLASSPATH中,Java命令才能识别。DOS命令如下。Set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

编者手记

在CLASSPATH变量的开头要加“.”,表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME,即JDK的安装目录。1.2.2 图形界面配置

在Windows系统中,还可以通过图形界面来配置Java环境变量。右击“我的电脑”图标,在弹出的快捷菜单中选择【属性】命令,在弹出的对话框中选择“高级”标签,如图1-8所示。图1-8 “高级”系统属性

单击图1-8中的“环境变量”按钮,在弹出的环境变量设置窗口中进行Java环境变量的配置,如图1-9所示。图1-9 环境变量配置对话框

在图1-9所示的环境变量配置对话框的“环境变量”栏中,可以通过“新建”按钮来新建环境变量,通过“编辑”按钮或者双击一个环境变量来修改该变量。

因为系统原本没有JAVA_HOME变量,所以这里要新建。单击“新建”按钮,在弹出的窗口中进行新建,在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入环境变量JAVA_HOME的值,即JDK的安装目录,这里是D:\jdk,单击“确定”按钮完成,如图1-10所示。图1-10 新建JAVA_HOME

系统已经存在PATH变量,不用新建,只需编辑PATH变量。选中PATH变量,单击“编辑”按钮,在弹出对话框的变量值一栏的末尾输入“.,%JAVA_HOME%bin”,如图1-11所示。图1-11 编辑PATH

新建CLASSPATH变量。在“变量值”文本框中输入“.;%JAVA_HOME%\lib; %JAVA_HOME%\lib\tools.jar”,如图1-12所示。图1-12 设置CLASSPATH变量

其实CLASSPATH在JDK1.3以后版本就不需要设置了,CLASSPATH参数用以指出类别的位元组码(bytecode)档案的搜寻目录。这里只是给出了一种设置环境变量的方式,其他环境变量的配置方法也如此。

以上是通过命令行和图形界面两种方式来配置Java环境变量,下面在DOS窗口下查看Java的当前版本。1.2.3 查看Java版本

配置完JDK,可以通过version命令查看当前的Java版本。单击系统“开始”按钮,单击【运行】菜单,在打开的运行窗口中输入CMD命令打开DOS窗口,输入命令java -version,按回车键,出现如图1-13所示的Java版本信息,说明环境变量已经配置成功。图1-13 Java版本信息1.2.4 调试JDK

打开一个记事本,输入如下代码,保存为HelloWorld.java,保存在目录F:\中。代码如下所示。public class HelloWorld{ public static void main(String[] args) { System.out.println("Hello,world!"); }}

HelloWorld.java是一个代码文件,在DOS下使用javac命令进行编译。进入DOS窗口,进入到代码文件所在目录。执行命令如下:f: //键入F:,然后回车

在DOS窗口下进入F盘目录,如图1-14所示。图1-14 进入目录

使用javac命令编译指定文件,产生HelloWorld.class文件。命令如下:javac HelloWorld.java

执行以上命令,如果没有错误提示即为正确执行了,如图1-15所示。图1-15 执行javac命令

下面的命令运行编译后的class文件。Java HelloWorld

执行该命令,就是运行程序,结果在DOS窗口中输出Hello, world!字样,如图1-16所示。图1-16 运行结果

以上成功进行了Java环境变量的配置,并成功编译了第一个Java程序,在控制台窗口输出“Hello, world!”字样。1.3 Eclipse 3.3

编写Java程序可以使用任何一种文本编辑器,如UltraEdit、EditPlus、Windows记事本甚至Word,只要把编辑好的文件存成.java文件。当然也可以用一些集成开发环境,如Borland公司的JBuilder, IBM公司的Visualage for Java,此外还有其他的集成开发环境。下面主要介绍Eclipse开发工具。1.3.1 Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools, JDT)。

大多数用户将Eclipse当作Java IDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment, PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,允许用户构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但用途并不限于Java语言。例如,支持如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,如内容管理系统。

Eclipse平台是一个具有一组强大服务的框架,这些服务支持插件,由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助,如图1-17所示。图1-17 Eclipse平台体系结构(1)平台运行库

平台运行库是内核,在启动时检查插件,并创建关于这些插件的注册表信息。为降低启动时间和资源使用,在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。(2)工作区

工作区是负责管理用户资源的插件。这包括用户创建的项目、项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,如文件创建、删除或更改。(3)工作台

工作台为Eclipse提供用户界面。使用标准窗口工具包(SWT)和一个更高级的API(JFace)来构建。SWT是Java的Swing/AWT GUI API的非标准替代者,JFace则建立在SWT基础上,提供用户界面组件。

SWT已被证明是Eclipse最具争议的部分。SWT比Swing更紧密地映射到底层操作系统的本机图形功能,这不仅使得SWT更快速,而且使得Java程序具有更像本机应用程序的外观和感觉。使用这个新的GUI API可能会限制Eclipse工作台的可移植性,不过针对大多数流行操作系统的SWT移植版本已经可用。

Eclipse对SWT的使用只会影响Eclipse自身的可移植性。使用Eclipse构建的任何Java应用程序都不会受到影响,除非使用SWT而不是使用Swing/AWT。(4)团队支持

团队支持组件负责提供版本控制和配置管理支持。根据需要添加视图,以允许用户与所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件交互,除非提供版本控制服务。(5)帮助

帮助组件具有与Eclipse平台本身相当的可扩展能力。与插件向Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。

可以选择【帮助】→【帮助内容】进入Eclipse的帮助系统。有了Eclipse的多国语言翻译包,所有的单机和联机帮助都已经翻译成了中文,使用起来非常方便。1.3.2 Eclipse开发环境

Eclipse常用的工作台界面包括菜单栏、工具栏、树状结构管理器和工作区等。Eclipse开发工具界面可以分为菜单栏、工具栏、包资源管理器、工作区、大纲和控制台等,下面来讲解使用Eclipse开发Java程序需要应用的功能。

1. 菜单栏

Eclipse是多功能的开发工具,开发Java应用程序只是一小部分功能,还可以开发J2EE、Java的Web开发和关于工具自身的插件开发。所以Eclipse的菜单栏特别丰富,如图1-18所示。图1-18 Eclipse菜单栏

其中File菜单主要用来创建、移动或导出项目和类文件等文件级别的操作,如图1-19所示。图1-19 Eclipse文件菜单

图1-19中New菜单用来新建项目和各种类文件,如包、类、接口和枚举等。Open File菜单用来打开磁盘上保存的文件。Close菜单用来关闭当前打开的文件,Close All菜单用来关闭所有打开的文件。

2. 工具栏

工具栏包含了菜单栏使用频率最高的菜单,用来快捷地执行菜单命令。Eclipse的工具栏如图1-20所示。图1-20 Eclipse工具栏

图1-20所示的工具栏中新建按钮()用来新建项目和类文件,与【文件】→【新建】菜单等效。运行按钮()用来配置哪个文件以什么方式运行并运行程序。新建Java项目按钮()可以快捷地创建Java项目。新建包按钮()可以快捷地创建项目中的包。新建Java类按钮()可以快捷地创建Java文件,如类、接口和枚举等。

3. 包资源管理器

包资源管理器以树状结构图的形式显示了项目中的文件,如包、类文件和JRE系统库等,通过双击可以快速打开文件进行代码编写,如图1-21所示。图1-21 包资源管理器

如图1-21所示的包资源管理器中,标题栏的按钮和Windows窗体标题栏按钮不同。最小化按钮()可以隐藏包资源管理器,最大化按钮()可以在最小化的时候还原,在正常的时候使包资源管理器充满整个屏幕。

4. 工作区

工作区是用来编写代码等操作的,可以多页面显示,通过工作区标题栏对应的页面标签上的X按钮关闭打开的代码文件,如图1-22所示。图1-22 多页面工作区

在图1-22所示的工作区中,当前显示的是h.java类文件的代码。标题栏中SimThread.java标签表示SimThread.java文件,单击该标签,在下面的代码编辑区中显示SimThread.java的代码。可以通过标签的X按钮关闭类文件,要打开可以通过双击左侧包资源管理器中的类文件。

5. 大纲

大纲窗口用来显示一个类文件中的大纲视图,可以显示类中的属性和方法,并显示方法中的参数,如图1-23所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载