JAVA实现FTP论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 目录
前言
PREFACE.
第一章引言
1.1选题背景
1.2 选题目的
1.3 FTP简介
第二章 Java简介
2.1什么是Java
2.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 SDK
3.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-U
5.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 client
Abstract
FTP 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服务器上的文件。
FTP是在Internet上传送文件的规定的基础。
我们提到FTP时不只是认为它是一套规定,FTP是一种服务,它可以在Internet上,使得文件可以从一台Internet主机传送到另一台Internet主机上,通过这种方式,主要靠FTP把Internet中的主机相互联系在一起。
像大多数的Internet服务一样,FTP使用客户机/服务器系统,你在使用一个名叫ftp的客户机程序时,就和远程主机上的服务程序相连了。
你也许知道,当你从远程计算机上拷贝文件到自己的计算机上时,我们称为“下传”(downloading)文件;当你从自己的计算机上拷贝文件到远程计算机上时,称为你“上传”(uploading)文件。
如果你不明白的话,就请想象有一台远程计算机悬浮在你头上的天空之中,“up”就是远离你,“down”就是朝向你。
当我们谈论FTP时,我们使用和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什么是Java
Java平台由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-intime Compiler)的开发,这一性能的沟壑也随之填平了。
下面我们讨论Java和C/C++的详细区别。
指针包含变量的地址,指针在 C++编程过程中可能引起许多错误,容易造成内存崩溃。
C ++程序员构造动态数据时使用的复杂的指针算法造成许多复杂的错误,致使浪费了大量的时间。
考虑到这种原因,Java的创造者取消了指针。
指针的功能由参考(reference)所取代,通过参考,Java可以遍历所有的对象和数组。
Java并没有因为缺乏指针而使得复杂数据结构的实现变得困难,实际上,在Java 中这种复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更为复杂。
Java没有函数,但是Java的类和方法能够实现C/C++用函数实现的任何任务。
C语言编程人员希望在标准库中找到的函数,Java用各种类的静态方法来实现。
例如,三角函数是作为Math类的静态方法来实现的,作为一种静态方法,用户不一定必须创建一个Math对象使用它们。
虽然多重继承是C或C++语言从多个父类中派生一个类的有效方法,但是由于这种派生很复杂,因而也很容易产生问题。
正是由于这种原因,Java的开发者没有采用多重继承,Java的类似Objective C协议的接口能够完成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中通过类实现了创建并行功能(parallel funtionality)。
Java源代码很简单,它不需要#define语句、预处理器或者typedef。
Java 语言去掉了ty pedef和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 SDK
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。
这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。
Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。
Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。
3.2 Eclipse的安装。