




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目录前 言PREFACE. 第一章 引言1.1选题背景1.2 选题目的1.3 FTP简介第二章 Java简介2.1什么是Java2.2 Java的特性2.2.1 Java的特性2.2.2 Java和C、C+2.3 Java体系结构2.3.1 Java虚拟机2.3.2 Java API第三章 Eclipse编程环境3.1 Eclipse开发环境概述3.1.1 概述3.1.2 插件开发3.1.3 Eclipse的主要组成3.1.4 Eclipse SDK3.2 MyEclipse的安装第四章 Java在C/S网络中的应用4.1 Java在C/S网络的应用概述4.2 Java在网络中的通信协议4.3 Java在网络中的通信端口4.4 C/S的网络通信模式4.5 Java的网络编程接口第五章 建立个人Ftp服务器5.1 Ftp服务器5.2 FTP服务器端软件Serv-U5.2.1 Serv-U介绍5.2.2 安装和基本设置5.2.3 设置匿名登录5.2.4 建立FTP服务器5.2.5 Serv-U管理员中的各项设置第六章 Ftp上传下载软件开发6.1功能说明6.2设计思路6.2.1主界面6.2.2各部界面6.3.1主界面设计6.3.2连接FTP服务器界面的设计6.3.3文件处理界面的设计6.4系统模块的实现 6.4.1 界面模块实现 6.4.2 登陆模块实现6.4.3 文件下载程序6.4.4文件上传程序第七章 浅析Ftp的工作原理7.1 Ftp的概述7.2 Ftp的工作原理7.2.1 Ftp分析7.3 Ftp登录7.3.1 Ftp匿名7.3.2匿名FTP的使用第八章 软件测试8.1 测试方案8.2 测试的过程与结果分析8.3 测试小结第九章总论致 谢参考文献前 言PREFACE. FTP客户端的设计与实现摘要FTP 是File Transfer Protocol(文件传输协议)的英文简称。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。The design and implementation of FTP clientAbstractFTP is abbreviation of file transfer protocol . At the same time, it is application. Clients can link other FTP serves in the all over world by their computers and visit large amount of programs and information. Function of FTP is that clients can give a visit files which exist long-distance serve through remote computers which run FTP application, and then , files are copied from remote serve or delivered to that. FTP programs with C/S(client and serve model)and interface of character and figure is fixed in own local computers, but interface of character is complicated and another is simple and convenient. 第一章 引言1.1选题背景“FTP”这个词是文件传送协议的缩写(File Transfer Protocol),FTP的主要作用就是让用户连接上一台所希望浏览的远程计算机。这台计算机必须运行着FTP服务器程序,并且储存着很多有用的文件,其中包括计算机软件、图像文件、重要的文本文件、声音文件等等。这样的计算机称为FTP站点或FTP服务器。通过FTP程序,用户可以查看到FTP服务器上的文件。FTP是在Internet上传送文件的规定的基础。我们提到FTP时不只是认为它是一套规定,FTP是一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上,通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。像大多数的Internet服务一样,FTP使用客户机服务器系统,你在使用一个名叫ftp的客户机程序时, 就和远程主机上的服务程序相连了随着软件工程学的迅速发展。FTP是个非常有用的工具,你可以在任意个可经FTP访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在已有1000多(96年的数据)个FTP文件服务器对所有INTERNET用户开使用,用户可以通过与INTERNET相连的计算机,把自己需要的文件传输过来。软件测试的理论也不断完善,软件测试的实施在整个软件生命周期中的地位也越来越重要,其工作量占软件开发总工作量的40%以上。软件测试已成为软件生产中必不可少的质量保证手段1.2 选题目的在当今信息社会,以国际互联网(Internet)为主要特征的信息基础设施正在改变人们的生活方式,资源共享已经成为人们生活的迫切需要。 尽管远程登陆(Telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。FTP正是完成这项工作的工具,FTP最早出现于ARPANET,至今仍是Internet中相当重要的应用之1,用户可通过该协议从FTP服务器中下载或上传任意文件,你可以在任意个可经文件传输协议(FTP)访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在已有1000多个(96年的数据)FTP文件服务器对所有INTERNET用户开使用,用户可以通过与Internet相连到远程计算机,把自己需要的文件传输过来或是把自己的收集传输上去与他人共享。尤其在浏览器将FTP集成其中之后,用户可轻易利用浏览器通过超链接下载服务器所开放的任意文件,以达到资源共享的目的。 FTP从早期使用操作系统的文字模式发展为图形用户接口的应用,如WS_FTP,以及浏览器形成的超链接下载方式.虽然用户接口不断改进,但都是以FTP为其基础核心.基本上,FTP是另1种C/S(客户/服务器体系结构)与Socket网络程序的应用最大差别在于FTP定义了服务器与开发客户端的行为模式及相关的指令、响应及传输的数据类型。在下面的各章中我们将根据RFC959的定义以及实际需求,设计实现1个标准的FTP服务器和FTP客户端。第1章 绪论 ,介绍了课题的开发背景、选题的目的、FTP的现状分析、现行研究中存在的问题以及本次设计要达到的目标。第2章 主要介绍了开发平台及相关技术。第3章 FTP的工作原理 详细介绍了FTP的工作原理。第4章 FTP服务器和客户端的设计 本章包括了对FTP服务器和客户端的需求分析,概要设计,详细设计。第5章 使用java实现FTP的服务器和客户端进行实现。第6章 软件的测试运行和维护。随着计算机网络技术的飞速发展,客户/服务C/S(Client/Sersver)结构成为开发FTP的网络编程结构,Java作为Web应用程序的开发技术也为更多的人所采用。起初, FTP并不是应用于IP网络上的协议,而是ARPANET网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于1960-1980年使用。在那时, FTP的主要功能是在主机间高速可靠地传输文件。目前FTP仍然保持其可靠性,即使在今天,它还允许文件远程存取。这使得用户可以在某个系统上工作,而将文件存贮在别的系统。例如,如果某用户运行Web服务器,需要从远程主机上取得HTML文件和CGI程序在本机上工作,他需要从远程存储站点获取文件(远程站点也需安装Web服务器)。当用户完成工作后,可使用FTP将文件传回到Web服务器。采用这种方法,用户无需使用Telnet登录到远程主机进行工作,这样就使Web服务器的更新工作变得如此的轻松。和Internet上的许多环境一样,完整的Java应用环境实际上也是一个客户机/服务器环境,更确切地说是浏览器/服务器模型(即Browser/Server模型,简称Web模型)。但与传统的客户机/服务器(C/S)的二层结构不同,应用Java的Web模型是由三层结构组成的。传统的C/S结构通过消息传递机制,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端。而在Web模型中,服务器一端被分解成两部分:一部分是应用服务器(Web服务器),另一部分是数据库服务器。1.3 FTP简介“FTP”这个词是文件传送协议的缩写(File Transfer Protocol),FTP的主要作用就是让用户连接上一台所希望浏览的远程计算机。这台计算机必须运行着FTP服务器程序,并且储存着很多有用的文件,其中包括计算机软件、图像文件、重要的文本文件、声音文件等等。这样的计算机称为FTP站点或FTP服务器。通过FTP程序,用户可以查看到FTP服务器上的文件。是在Internet上传送文件的规定的基础。我们提到时不只是认为它是一套规定,是一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上,通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。 像大多数的Internet服务一样,FTP使用客户机服务器系统,你在使用一个名叫ftp的客户机程序时, 就和远程主机上的服务程序相连了。你也许知道,当你从远程计算机上拷贝文件到自己的计算机上时,我们称为“下传”(downloading)文件; 当你从自己的计算机上拷贝文件到远程计算机上时,称为你“上传”(uploading)文件。 如果你不明白的话,就请想象有一台远程计算机悬浮在你头上的天空之中,“up”就是远离你,“down”就是朝向你。当我们谈论时,我们使用和Telent相同的术语。你的计算机叫做本地主机,别的计算机叫做远程主机。在Internet语言中,我们说这个ftp客户机程序允许你向远程主机发送或接收文件。当使用ftp程序时,你录入ftp命令和你想要连接的远程主机的地址。一旦程序开始,你就可以录入命令,来回拷贝文件。当你使用ftp时, 有很多命令你都可以使用。例如,你可以查询远程计算机上的目录,并且可以变换目录。FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。 在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。 与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。第二章 Java简介2.1什么是JavaJava平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.5,最近版本为Java1.7。 Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。2.2 Java的特性2.2.1 Java的特性1、Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。 3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。 8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。 10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2.2.2 Java和C、C+ Pascal、C和C+这些广为编程人员熟悉的编程语言,为编程人员在实际开发工作中提供了理想的功能,和这些语言的功能相比,Java似乎更胜一筹。Java的结构无关性、真正的面向对象和与Internet的协同工作等特性比上述任何一种语言更显得完善。Java的许多术语来自于C+,其语法也来自于C+。Java比C/C+易学、易用,且有强大的内建功能。当Java在编程领域得到广泛应用后,C+将可能退出历史舞台,因为Java能做C+的所有事情,同时,Java的代码可以重用。Java的主要缺点是解释执行,所以,C+的性能仍是较为突出的。然而,由于C+即时编译器(Just-intimeCompiler)的开发,这一性能的沟壑也随之填平了。下面我们讨论Java和C/C+的详细区别。 指针包含变量的地址,指针在C+编程过程中可能引起许多错误,容易造成内存崩溃。C+程序员构造动态数据时使用的复杂的指针算法造成许多复杂的错误,致使浪费了大量的时间。考虑到这种原因,Java的创造者取消了指针。指针的功能由参考(reference)所取代,通过参考,Java可以遍历所有的对象和数组。Java并没有因为缺乏指针而使得复杂数据结构的实现变得困难,实际上,在Java中这种复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更为复杂。 Java没有函数,但是Java的类和方法能够实现C/C+用函数实现的任何任务。C语言编程人员希望在标准库中找到的函数,Java用各种类的静态方法来实现。例如,三角函数是作为Math类的静态方法来实现的,作为一种静态方法,用户不一定必须创建一个Math对象使用它们。 虽然多重继承是C或C+语言从多个父类中派生一个类的有效方法,但是由于这种派生很复杂,因而也很容易产生问题。正是由于这种原因,Java的开发者没有采用多重继承,Java的类似ObjectiveC协议的接口能够完成C+中多重继承能够完成的所有任务。在Java中为了简单也没有采用C+语言中的goto语句,因此Java可以不关心与goto语句有关的规则。Java中的多重break和continue能够实现C+语言中goto语句的功能。 在C+语言中有三种复杂的数据类型:联合、结构和类;而在Java中只采用了类,其中在C+中用联合和结构实现的工作,Java都用类来实现。Java将字符串作为一级对象、String和StringBuffer,这与缺乏对文本字符串内建支持的C和C+是不同的。为了实现这种字符串,C或C+的程序员通常采用字符串数组。Java的字符串更具有一致性和可预测性,因为在Java中它们可以实现运行时检测,更容易避免错误。在Java中,程序员不再重载标准的算术操作符,操作符重载在C+语言中是一个重要的特性,而在Java中通过类实现了创建并行功能(parallelfuntionality)。Java源代码很简单,它不需要#define语句、预处理器或者typedef。Java语言去掉了typedef和define,但需要头文件。此外,Java语言派生了来自于源文件的其他类及其方法的定义。与C和C+不同,有关Java一个类的信息必须包含在一个文件中,而C和C+的有关类的信息可能分散在一个头文件及多个代码文件中。Java语言不允许数据类型的自动强制转换。在C+中编程人员可以给一个变量赋值,但赋给该变量的值可能由于变量应用环境的不同而导致丢失。在Java中强制一种类型的数据元素成为一种不太精确的数据类型需要编程人员采用预测方法。 Java运行时系统允许命令行变量的传递。这种语法和C语言的语法有些类似,但程序名并不在变量列表中,因为它的名字和它的类一样。2.3 Java体系结构2.3.1 Java虚拟机Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。 Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。 Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机。2.3.2 Java API Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供了一套访问主机系统资源的标准方法。运行Java程序时,虚拟机装载程序的class文件所使用的Java API class文件。所有被装载的class文件(包括从应用程序中和从Java API中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。 在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。 Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。 Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。第三章Eclipse编程环境3.1 Eclipse开发环境概述3.1.1 概述Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。3.1.1主要组成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。3.1.2插件开发虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。3.1.3 Eclipse的主要组成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。3.1.4 Eclipse SDKEclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。3.2 Eclipse的安装首先要创建一个java的工作环境,在sun的网站上下载j2se,安装到自己的系统中,我下载的是1.4版本,安装目录为“D:j2sdk1.4.2_04”。下载地址:/j2se/1.4.2/download.html设置环境参数右键“我的电脑”“属性”“高级”“环境变量”增加:java_homeD:j2sdk1.4.2_04ClassPath=d:j2sdk1.4.2_04;d:j2sdk1.4.2_04libtools.jar;d:j2sdk1.4.2_04libdt.jar;d:j2sdk1.4.2_04binPathd:j2sdk1.4.2_04bin环境就设置好了。2、下载Eclipse及插件Eclipse可以在它的主页下载:/downloads/index.php第四章 Java在C/S网络中的应用4.1 Java在C/S网络的应用概述 在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。4.2 Java在网络中的通信协议TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网络协议)是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。众所周知,如今电脑上因特网都要进行TCP/IP协议设置,显然该协议成了当今地球村“人与人”之间的“牵手协议”。IP(Internet Protocol)协议的英文名直译就是:因特网协议,从这个名称我们就可以知道IP协议的重要性。在现实生活中,我们进行货物运输时都是把货物包装成一个个的纸箱或者是集装箱之后才进行运输,在网络世界中各种信息也是通过类似的方式进行传输的。IP协议规定了数据传输时的基本单元和格式。如果比做货物运输,IP协议规定了货物打包时的包装箱尺寸和包装的程序。除了这些以外,IP协议还定义了数据包的递交办法和路由选择。同样用货物运输做比喻,IP协议规定了货物的运输方法和运输路线。IP协议已经规定了数据传输的主要内容,那 TCP(Transmission Control Protocol)协议是做什么的呢?不知道大家有没有发现,在IP协议中定义的传输是单向的,也就是说发出去的货物对方有没有收到我们是不知道的,就好像8毛钱一份的平信一样。那对于重要的信件我们要寄挂号信怎么办呢?TCP协议就是帮我们寄“挂号信”的。TCP协议提供了可靠的面向对象的数据流传输服务的规则和约定。简单地说,在TCP模式中,对方发一个数据包给你,你要发一个确认数据包给对方,通过这种确认来提供可靠性。URL(Uniform Resource Locator,网页地址)是因特网上标准的资源的地址。它最初是由蒂姆伯纳斯李发明用来作为万维网的地址的。它已经被万维网联盟编制为因特网标准RFC1738了。它用于完整地描述Internet上网页和其他资源的地址的一种标识方法。Internet上的每一个网页都具有一个唯一的名称标识,通常称为URL地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是Internet上的站点。简单地说,URL就是Web地址,俗称“网址”。在Java中,有一个URL类,它在J包中,URL类是网络编程的重要内容,它为Java访问网络资源提供了接口,通过这些接口可以很容易地访问服务器上的文件。4.3 Java在网络中的通信端口Java为网络支持提供了包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供普通字符串和 application/x-www-form-urlencoded MIME 字符串相互转换的静态方法。4.4 C/S的网络通信模式 在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。 (2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。 (3)C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。4.5 Java的网络编程接口套接口(Socket),是传送层提供的网络进程通信接口。通讯的主动方是顾客,它利用Socket,向服务器(接收方)发送请求,服务器接收顾客请求,返回服务结果。进程之间想通信首先要建立各自的套接口。端口同一台网络计算机的一个特定进程关联,与进程建立的套接口绑定在一起。客户程序必须事先知道自己要求的那个服务进程的壹IP地址和端口号。程序员在创建自己的应用服务程序时一般自己指定一个端口号,也可以由系统分配一个端口号。客户通过这个端口号连接该服务进程。客户端应用进程象服务进程一样,也有自己的端口号,通过该端口客户端应用进程与服务进程通信。用户目前可以使用的两种套接口,即流套接口和数据报套接口。流套接口提供了双向的、有序的、无重复并且无记录边界的数据流服务。TCP即是一种流套接口协议;数据报套接口支持双向的数据流,但并不保证是可靠、有序、无重复的,也就是说,一个以数据报套接口接收的信息的进程有可能发现信息重复了,或者和发出的顺序不同。数据报套接口的一个重要特点是它保留了记录边界。UDP即是一种数据报套接口协议。 (1)Socket (String host,int port)throws UnknownHostException,IOException 创建一个流套接口(即Socket实体对象),并将其连接至特定主机的特定端口上。 参数:host 主机名 port 端口号 (2)Socket(String host,int port,boolean stream) 构造一个套接口,并把它连接到特定主机的特定端口上。而此套接口是流套接口还是数据报(datagram)套接口,则是由最后一个参数stream决定的。 参数:host主机名 port 端口号 stream 用于决定生成的套接口是流套接口还是数据报套接口 (3)Socket(InetAddress address,int port) 构造一个流套接口,并把它连接到特定主机的特定地址上。 参数:address 特定的地址 port 端口 (4)Socket(InetAddress address,int port boolean stream) 构造一个流套接口,并把它连接到特定端口的特定地址上。而此套接口是流套接口还是数据报(datagram)套接口,则是由最后一个参数stream决定的。 参数:host主机名 port 端口号 stream 用于决定生成的套接口是流套接口还是数据报套接口 第五章 建立个人Ftp服务器5.1 Ftp服务器简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议)一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海岸围堤施工方案设计流程
- 解析卷人教版八年级上册物理声现象《声音的特性声的利用》专题攻克试题(含答案解析)
- 2025喀什招聘教师考试真题及答案
- 难点解析-人教版八年级上册物理物态变化《温度》必考点解析试卷(含答案详解)
- 2025教资考试历年真题及答案
- 2025会计公务员真题及答案
- 汽车设计理论考试题库及答案
- 田径三级裁判考试题库及答案
- 队列训练齐步走考试题目及答案
- 祁阳一中选拔考试题目及答案
- 美术基础 课件全套 第1-5章 美术简介 -中国民间美术
- 2025年青少年法制知识竞赛题库
- 小学德育工作会议记录
- 《中职工程测量技术专业《GNSS测量技术与应用》课程标准》
- 公安部门大数据管理办法
- 骨科患者围手术期营养管理
- 竞业限制培训
- 水厂培训课件
- 类风湿关节炎达标治疗
- 变电运行与检修考试题(附答案解析)
- 衢州学院十五五校园及校园文化建设规划
评论
0/150
提交评论