




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FTP文件传输课程设计摘 要进入信息时代,随着互联网普及,只要接上网络,就能从网上找到庞大的数据资源,其内容包罗万象,可以说几乎任何人都可以在Internet资源中找到自己所需要的信息资源。有了网络,使用者不但可以浏览各种各样的信息资源,还能够将自己感兴趣的资源下载到本地机上。计算机之间数据的传输大多是通过文件传输协议FTP来完成的。FTP使用两个TCP连接来实现文件传送操作。FTP可以管理四类不同的文件类型,且可用多种模式传输文件。本系统是用JBuilder 9.0作为开发工具完成的,系统有着良好的界面,简单易用,系统开发的总体任务是连接FTP服务器,上传/下载文件;并使用Serv-U软件构建FTP服务器,使客户端用户能够通过互联网访问FTP服务器,进行信息资源的共享和传输。论文首先介绍FTP文件传输协议的原理和工作的机制。然后简要介绍开发FTP客户端应用程序的一些详细的步骤(如何建立文件传输的数据连接过程)并提供了一个完整的JAVA实现的文件传输程序模块,以此来演示使用JAVA开发FTP客户端应用程序的一些具体细节。本次论文的设计,即从需求分析,软件设计到软件功能实现,都始终遵循软件工程的思想和数据库的设计方法。在本文中采用了大量的图表说明,使文章明确清晰,便与阅读和理解。 关键词: FTP文件传输系统 ,JBuilder 9.0, 网络技术,软件工程ABSTARCTDuring entering to the information times, along with the Internet universal, so long as connect with the net, you can find out the huge data resources from the Internet. It is almost said that everyone can find out the information resources which you need in the Internet. Had the network, the user can not only browse various of information resources, but also download resources which you are interested in. Most of the data transfer between computers are realized through file transfer protocol-FTP. Generally FTP means file transfer service. Using two TCP connections, FTP can realize file transfer.This software system completes with the JBuilder 9.0 tools. And the system has good interface, using in brief and easily. The total mission of the system is to link the server of FTP, spreading up/ download documents.And a FTP server can be built by the software of Serv-U.The user of client side then can visit the FTP server to upload or download the files.Firstly this design introduces the mechanics and principle of File Transportation Protocol (FTP). Then detailed steps (how to make a data link for file transport) of developing the FTP Client are presented. A programming module of file transport, written in java is available to demonstrate the specifics of developing a FTP Client Application in JAVA.The design of this software, namely analytical from the need, the software designs the function to carry out, all following the thought of the software engineering and the design method of the databases always. This text had a great deal of chart elucidation, make the article definitely clear, then with read and comprehend easily.Key Words: FTP File transportation system, JBuilder 9.0, network technique, software engineering.目录摘 要IABSTARCTII目录III第一章 绪论111课题简介112 FTP的工作原理1121 FTP连接1122 FTP数据处理2123 FTP命令以及响应2124 FTP登陆213 相关技术和开发工具2131 JAVA简介3132 Jbuilder 9.0编程环境3133C/S的网络通信模式4134 FTP服务器端软件Serv-U4第二章 系统需求分析621 任务概述622 设计思想623 系统工作流程与结构624 用例描述725 分析与设计1026 相关类的设计13第三章 系统界面设计及模块实现1631 功能说明1632 程序设计流程图1633 各界面的设计163. 3. 1 主界面设计163. 3. 2 连接FTP服务器界面设计173. 3. 3 文件处理界面设计1834 模块功能介绍及核心代码203. 4. 1 登录模块203. 4. 2 浏览模块203. 4. 3 文件上传模块213. 4. 4 文件下载模块213. 4. 5 断开与服务器的连接22第四章 软件测试2341 确定测试策略2342 划分输入等价类2343 建立测试用例23结 论25参考文献26致 谢27第一章 绪论11课题简介随着Internet技术的兴起与发展和网络技术的蓬勃发展,人们希望通过互联网来共享网络上的资源,便于为自己结省成本,这就迫切需要实现网络与数据库的互连。网络技术发展到今天,人们已经可以把数据库技术引入到Web 系统中。随着软件工程学的迅速发展,软件测试的理论也不断完善,软件测试的实施在整个软件生命周期中的地位也越来越重要,其工作量占软件开发总工作量的40%以上。软件测试已成为软件生产中必不可少的质量保证手段。FTP是Internet上使用最广泛的应用之一。FTP服务是以它所使用的文件传输协议(File Transfer Protocol)命名的。 目前Internet上几乎所有的计算机系统上,都带有FTP工具,用户通过它可以将文档从一台计算机上传到另外一台计算机上。普通的FTP服务要求用户必须在要访问的计算机上有用户名和口令。而Internet上最受欢迎的是称为匿名(anonymous)FTP的服务,用户在登录这些服务器时不用事先注册一个用户名和口令,而是以anonymous或ftp为用户名,自己的电子邮件地址为口令即可。匿名FTP是目前Internet上进行资源共享的主要途径之一。它的特点是访问方便,800616操作简单,容易管理。Internet上有许多的资源都是以FTP的形势提供给大家使用的,包括各种文档、软件工具包等等。所以我选了些课题,想通过现在最热门的Java语言来实现FTP功能。12 FTP的工作原理FTP(File Transfer Protocol,文件传输系统)是Internet上使用非常广泛的一种通信协议(属于TCP/IP),它是由支持Internet文件传输的各种规则组成,这些规则使Internet用户可以把文件从一个主机拷贝到另一个主机上。FTP支持多种文件类型和文件格式,包括ASCII文件和二进制文件。下面将从FTP连接,FTP数据处理,FTP命令及响应三个方面来介绍FTP工作原理121 FTP连接FTP使用两条TCP连接来完成文件传输:控制连接和数据连接。控制连接用于传输控制,数据连接用于数据传输。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时候,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,该连接一直保持到客户与服务器通信结束为止。当客户发出数据传输 命令时候,服务器会主动与客户建立数据连接,并与进行数据交换。客户端用户并不是直接处理控制连接上的FTP命令和FTP响应,而是由两个协议解释器进行处理。用户接口为客户端用户提供一定形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将控制连接上的FTP响应转换成用户可以理解的方式。122 FTP数据处理FTP协议规范中提供了多种用于文件控制的传输和存储方式,主要包括:1)文件类型处理:ASCII文件类型,EBCDIC文件类型,图象文件类型,本地文件类型 2)格式控制:格式控制只能应用于ASCII文件和EBCDIC文件类型,有非打印格式控制,TELNET格式控制以及FORTRAN格式控制三种,其中默认为非打印格式控制,该格式控制下,文件不包括任何格式信息。3)结构: 结构分文件结构,记录结构和页结构三种。默认为文件结构,即将文件看成是一个连续的字节流,没有内部结构。记录结构可勇于文本文件。页结构中,每一个页都有一个页号,允许接收者以及任意的顺序存储页。4)传输模式: 传输模式用于说明文件是如何在数据连接上进行传输的。主要有以下三类: 流模式:将文件当作一个字节流来传输。 块模式:将文件当作一系列的数据块来传输。123 FTP命令以及响应 在控制连接上,FTP命令以及响应都是以NVT ASCII格式进行传输的,并且每一行用CR和LF作为结束。一般来说,FTP命令是由3到4个字节大写ASCII字符组成的,其中有一些命令有参数。一般的FTP响应是以3个ASCII数字作为前导,其后跟相应的消息,其中23位数字相应消息由客户程序进行分析处理,后面的消息是提供给客户阅读的。124 FTP登陆实际上存在两种FTP登录方式:一种是匿名的,之所以称之为匿名的是因为任何人都可以访问它。该站点允许那些使用Anonymous用户名以及E-MAIL地址作为密码的用户访问它.在匿名登录的方式下,一些访问类型受到了限制,如大多数站点允许下载,但是不允许匿名用户上传资料;另一种是非匿名的,这是需要一个合法的用户名和密码.用户和密码通常是系统管理员或者ISP尤其是所有者提供的.如果没有用户名和密码,将会被拒绝访问。13 相关技术和开发工具 本章节将介绍开发FTP文件传输系统的相关的技术和开发工具。涉及到的内容包括:JAVA语言,开发工具JBUILDER 9的,C/S网络通信模式以及服务器端的软件Serv-U的相关知识和技术。131 JAVA简介Java来自Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C+,但是C+太复杂,安全性差,最后基于C+开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而且安全的语言,Sun公司曾依此投标一个交互式的电视项目,但是结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组的成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进军Internet。Java的取名叶有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java咖啡,有一个人灵机移动说叫Java怎样,得到了其他人的赞赏,于是Java这个名字就这样传开了。作为一种编程语言,JAVA拥有一些很独特的特性:安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病毒的侵入和破坏行为的发生。 结构中立的(ArchitectureNeutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(ObjectFileFormat);这使得编译码得以在很多种处理器中执行。 可移植的(Portable):原始资料型式的大小是被指定的,例如float一直是表示一个32位元IEEE754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。 解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。 高效能的(HighPerformance):Java位元码迅速地能被转换成机器码(MachineCode),从位元码转换到机器码的效能几乎与C与C+没有分别。 多线程的(Multithreaded):Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助的。动态的(Dynamic):Java比C或C+语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新,而必须重新编译程序。132 Jbuilder 9.0编程环境Jbuilder是Borland公司的重点产品。随着JAVA语言的流行,越来越多的开发者青睐这个可视化的JAVA应用开发工具。使用Jbuilder来进行JAVA开发,可极大的加快生手的学习速度,缩短熟手的开发时间,因此在短短几年内成为广大程序员最喜爱的开发工具之一。Jbuilder 9.0则集成了软件开发、测试、部署、管理等工具,极大的提高项目的开发速度。作为一款经典的开发工具,它之所以能吸引越来越多的开发人员,是由于它的几个非常重要同时也很独到的特性。(1) 结构易于创建结构易于创建JBuilder提供创建平台独立的GUI工具的方式与众不同。从表面上看,JBuilder就与Visual Cafe或Visual Age for Java一样,它默认使用一种叫做XYLayout的布局结构。这个特性允许程序员以所见即所得的方式将组件放到结构中。 (2) 结构的可维护性在JBuilder中设置网格限制相当容易,对任何给定的组件用户都可以弹出一个网格限制对话框,在对话框中可以设置一些网格限制参数,如垂直或水平挤压和填充等。除此之外,用户也可以直接到网格限制属性对话框中进行设置。尽管JBuilder不能象Java Workshop那样在网格布局结构中直接移动组件或调整其大小那样容易和直观,但还是可以完成的。 (3) 可视化编程JBuilder提供了一个交互向导(Interactive Wizard)作为可视化编程工具。其目的是能够自动完成组件之间的一些简单的交互操作。然而它的不足之处是交互向导远不够直观而且缺乏一个高级的程序员所要求的灵活性。比如当用户使用它来产生一组代码以便当按下某个开关时可以将文本从一个编辑控制放到一个选择列表中。133 C/S的网络通信模式C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。134 FTP服务器端软件Serv-UFTP个人服务器提供了给同一网络中的其他机器互相访问的功能,如:上传文件,下载文件等实现资源的共享。Serv-U是Rob Beckers开发的一个功能强大的、简单易用的、成熟的FTP服务器,FTP服务器用户通过Internet的FTP协议共享文件。Serv-U不仅仅能100%适用于标准的FTP,同样也包括了很多功能,是一个完美的文件共享解决方案。FTP Serv-U最新的版本是6.2,新的版本支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全。是一个适合各种大小空间管理的服务器,它不仅仅拥有的很多高级的管理工具,他还是一个简单应用和安全的标准。Serv-U是众多FTP服务器中比较通俗一个、同时拥有众多高级和管理工具。FTP Serv-U其他的安全功能:用SSL加密数据、ODBC的支持、带宽限制、目录和文件的权限管理、IP限制、定制安全设置。第二章 系统需求分析21 任务概述整个整个文件传输系统是由服务器端服务程序和客户端应用共同组成。FTP服务器端的程序由服务器端的软件ServU来控制,负责接受和处理客户端的请求。客户端由5个模块组成:连接模块,下载模块,上传模块,目录浏览模块,以及界面组成,所有的模块功能通过界面同用户交流。22 设计思想利用JAVA的网络类库中专门针对FTP文件传输的相关类以及方法,实现与现有的FTP服务器的连接与通信。利用C/S网络应用模型的相关特点与知识,配合开发工具的自身的特点实现FTP文件传输系统。23 系统工作流程与结构FTP的客户端程序的设计主要有四个部分:客户登陆程序设计,FTP服务器目录浏览程序,FTP服务器目录更新程序设计,上传和下载文件程序设计.而相应的操作流程为:首先客户端程序先连接服务器;然后浏览或更新FTP服务器目录;选择文件进行下载和上传;进行文件数据传输;最后断开连接.由于JBULIEDER提供的FTP控件已经对其进行了类的封装, 因而对用户来说它是透明的,不必在去编程解释响应消息了.这样使用JBULIDER9,就节约了大量的开发时间.下图是文件传输系统的系统结构:图2-1文件传输系统的结构24 用例描述客户端实现的功能:能连接到一个远端的FTP服务器从远端服务器下载文件能向远端服务器上传文件能断开和当前远端服务器的连接从功能上得到四个用例:建立连接 下载文件 上传文件 断开连接用例图如下所示:图2-2 客户端用例图每个用例描述文件如下:(1)建立连接“建立连接”用例描述了用户建立连接的整个过程。具体描述下:用例名称:建立连接用例说明:通过网络连接到一个FTP服务器通信协议:使用FTP协议基本过程:1)输入FTP服务器的信息2)用户发出建立或连接FTP服务器的请求3)连接到指定的FTP服务器(2)下载文件“下载文件”用例描述了用户从服务器下载文件到本地文件夹的过程。具体描述如下:用户名称:下载文件用户说明:用户获取远端服务器提供的服务,下载远程服务器上的文件到本地通信协议:使用FTP协议基本过程:1)用户确定需要下载的远端文件的信息2)用户确定保存文件的本地路径3)向服务器发送下载文件的请求4)从远端服务器获取文件5)保存文件到本地磁盘基本过程中使用了FTP协议提交下载文件的请求,并且获取远端文件。(3)上传文件“上传文件”用例描述了用户从本地上传文件到服务器的过程。具体描述如下:用例名称:上传文件用例说明:用户获取远端服务器提供的服务,上传本地的文件到远程服务器通信协议:使用FTP协议基本过程:1)用户确定需要上传的本地文件的信息2)用户确定保存文件的远程路径3)向服务器发送上传文件的请求4)向远端服务器传输文件基本过程中使用FTP协议上传文件的请求,并传输本地文件到远端服务器的指定位置。(4)断开连接“断开连接”用例描述了用户断开和当前服务器连接的整个过程。具体的描述如下:用例名称:断开连接用例说明:离开当前已经连接的FTP服务器通信协议:使用FTP协议基本过程:(1)用户发送断开连接的请求(2)将用户请求发送到FTP服务器(3)停止从FTP服务器获取服务(4)断开和FTP服务器的连接预期结果是停止从当前服务器上的服务,并且断开和当前FTP服务器的连接。客户端的活动图4个用例的文字描述已经给出,这里使用活动图来对复杂用例进一步的说明。这里给出实现主要功能的“下载文件”和“上传文件”两个用例的活动图。“下载文件”用例的活动图如图所示: 图2-3“下载文件”用例的活动图从活动图中,我们更直接的了解了该子用例的整个工作的流程如下:(1)系统定位下载的文件和保存的路径。(2)发送下载文件的请求。(3)如果请求失败,则提示出错的信息,然后结束。(4)如果请求成功,获取远程文件的内容。(5)如果获取失败,则提示出错信息,然后结束。(6)如果获取成功,保存文件到本地,然后结束。“上传文件”用例的活动图如下图所示:图2-4“下载文件”用例的活动图从活动图中,我们更能直观的了解该子用例的整个工作流程如下:(1)系统定位上传文件和保存路径。(2)发送上传文件请求。(3)如果请求失败,则提示出错信息,然后结束。(4)如果请求成功,传输本地的文件到服务器。(5)如果文件传输失败,则提示出错信息,然后结束。(6)如果传输文件成功,提示传输成功,然后结束。至此,客户端的用例已经描述完善。25 分析与设计获取客户端对象从用例以及描述中,分析每个活动以及其实现的功能,可以得到实现客户端的对象:连接界面,服务界面,响应处理,建立连接,上传文件,断开连接和下载文件.它们之间的关系用对象图表示如下:用户连接界面服务界面建立连接上传文件响应处理断开连接下载文件图2-5 客户端对象图客户端对象的静态关系(每个用例将建立一个协作图,来详细描述对象之间的关系)1建立连接协作图如下:连接界面建立连接响应处理连接请求建立连接连接请求连接请求连接建立 图2-6 “建立连接”协作图 该协作图描述的对象关系如下:用户向“连接界面”发送“连接请求”,“连接界面”向“响应处理”发送“连接请求”,“响应处理”向“建立连接”发送“连接请求”, “建立连接”向“连接界面”发送 “连接建立”, “连接建立”向用户反馈”连接建立”2.下载文件“下载文件”用例将远端服务器的文件传输到本地服务界面建立连接响应处理下载请求处理完成下载请求下载请求下载处理图2-7 “下载文件”协作图 3.上传文件(同下载)“上传文件”用例将文件传输到远端服务器4.断开连接(同连接)“断开连接”用例的对象关系和用例”建立连接”相似客户端对象的动态关系(建立序列图)1.建立连接请求连接连接建立连接界面响应处理连接界面请求连接请求连接连接建立图2-8“建立连接”序列图2.下载文件下载请求处理完成服务界面响应处理建立连接下载请求下载请求处理完成图2-9“下载文件”序列图3.上传文件(同下载)4.断开连接(同连接)26 相关类的设计1.用户界面的类图ButtonLabelTextfieldJFrameTextarea图2-10 简要类图 这个图描述了界面本身的结构,是一个很简单的设计模型,而并未牵涉到界面在整体中的作用,以及UI对象之间的交互的方式。综合考虑功能和复杂性,通过模型重组,最终要实现的类只有一个。该类实现了FTP客户端的所有功能.其类如图所示Frame1 () jbInit():void jButton3_actionPerformed(e: ActionEvent): void jButton4_actionPerformed(e: ActionEvent): void jButton5_actionPerformed(e: ActionEvent): void jButton1_actionPerformed(e: ActionEvent):voidjButton2_actionPerformed(e: ActionEvent):voidjButton6_actionPerformed(e: ActionEvent):voidjButton7_actionPerformed(e: ActionEvent):voidjButton8_actionPerformed(e: ActionEvent):voidlist1_mouseClicked(e: ActionEvent):void processWindowEvent(e: WindowEvent):voidFrame1 图2-11详细类图 类图仅仅表示静态结构,下面给出状态图进一步描述其行为.尚未联机/jbInit()已经联机ActionEvent/jButton1_actionPerformed ActionEvent/jButton2_actionPerformed 下载文件ActionEvent/ jButton4_actionPerformed()上传文件ActionEvent/ jButton2_actionPerformed()浏览文件目录ActionEvent/list1_mouseClicked()WindowEvent / processWindowEvent() 图2-12 状态图 状态图中,根据3个用例将类的行为分为3个状态:1)尚未联机:该状态下显示断开连接时候的用户界面,响应连接按钮的事件来建立连接,转到联机状态,或者响应关闭窗口的事件,退出程序2)已经联机:该状态下显示连接到服务器的信息,并且显示用户可以访问的文件列表,等待新的命令.如果命令是下载则转到下载文件状态下载文件,若是断开连接则断开和服务器的连接转到尚未联机的状态,若是关闭窗体,则退出程序.3)下载文件:实现下载功能第三章 系统界面设计及模块实现31 功能说明FTP的客户端程序的设计主要有四个部分:客户登陆程序设计,FTP服务器目录浏览程序,FTP服务器目录更新程序设计,上传和下载文件程序设计.而相应的操作流程为:首先客户端程序先连接服务器;然后浏览或更新FTP服务器目录;选择文件进行下载和上传;进行文件数据传输;最后断开连接.整个系统由图形界面,登陆程序,浏览程序,上传,下载程序四大模块组成.图形用户界面又由登陆界面和文件处理界面组成.它主要给用户提供交互手段.登陆程序通过用户提供的登陆信息连接到服务器,并把信息反馈于登陆界面.浏览程序实现服务器与客户端文件目录的浏览.上传与下载程序主要完成文件的传输,是系统的核心模块.由于JBULIEDER提供的FTP控件已经对其进行了类的封装, 因而对用户来说它是透明的,不必在去编程解释响应消息了.这样使用JBULIDER9,就节约了大量的开发时间.32 程序设计流程图输入登陆信息浏览文件连 接 结 束断 开上传下载开始 图3-1 程序设计流程图33 各界面的设计3. 3. 1 主界面设计 用户使用JBuilder9中的Project Wizard来创建工程。工程的扩展名为:jpx。工程文件包含了工程其他文件所在目录信息。使用Project Wizard的具体步骤如下:(1) 选择FILENew Project菜单项。(2) 在Name文本框中输入FTPClient。(3) 单击Finish按钮 表5-1 给出了要添加和设置的控件和需要修改的设置值:表3-1 主界面的设计控件名称父控件名称修改过的属性设置thisUItitle文件传输系统contentPane(JPanel)thslayoutpaneLayoutjTabbedPanel(jTabbedPanel)contentPanejPanel1(JPanel)jTabbedPanelconstraints连接FTP服务器layoutXYLayoutjPanel2(JPanel)jTabbedPanelconstraints文件处理layoutXYLayout 图3-2为主界面最终效果图图3-2 主界面3. 3. 2 连接FTP服务器界面设计 连接FTP服务器的设计是在jPanel1的基础上是设计实现的,增加了一些其他的控件,如表3-2所示:表3-2 连接FTP服务器界面的设计控件名称父控件名称修改过的属性设置jLabel1(jLabel)jPanel1text服务器地址jLabel2(jLabel)jPanel1text用户名:jLabel3(jLabel)jPanel1text密码:jLabel4(jLabel)jPanel1text端口号:jButton8(jButton)jPanel1text格式检查Button7(jButton)jPanel1text重置jTextField1(jTextField)jPanel1textjTextField4(jTextField)jPanel1text21jButton8(jButton)jPanel1text匿名登录jButton1(jButton)jPanel1text连接服务器jButton2(jButton)jPanel1text断开服务器连接图3-3为主界面最终效果:图3-3 连接FTP服务器界面3. 3. 3 文件处理界面设计连接FTP服务器的设计是在jPanel1的基础上是设计实现的,增加了一些其他的控件,如表3-3所示:表3-3 文件处理界面的设计控件名称父控件名称修改过的属性设置box1(box)jPanel2enabledtrueconstraintsCenterjPanel3(jPanel)box1layoutXYlayoutminimumSize400,240perferredSize400,240jPanel4(jPanel)box1layoutBorderLayoutminimumSize400,240perferredSize400,240jLabel5(jLabel)jPanel3textFTP服务器目录列表jLabel6(jLabel)jPanel3text本地硬盘目录列表jScrollPane1(jScrollPane)jPanel3constraints7,6,194,281jScrollPane2(jScrollPane)jPanel1constraints295,6,173,280List1(list)jScrollPane1multipleModetruejTree1(JTree)jScrollPane2toggleClickCount2jTextArea1(jTextArea)jScrollPane2text(即为清空)jButton4(jButton)jPanel3text文件下载jButton3(jButton)jPanel3text文件上传jButton5(jButton)jPanel3text选择目录jButton9(jButton)jPanel3text刷新图3-4为文件处理界面最终效果:图3-4 文件处理界面34 模块功能介绍及核心代码3. 4. 1 登录模块功能介绍:(1)实例化一个FtpClient对象,如果输入的形式不对,提示相应的消息(2)登陆FTP服务器。如果不能登陆,提示相应的信息(3)刷新服务器列表框,显示服务器端的文件信息核心代码: try ftp= new FtpClient(hostname,21); ftp.login(jTextField2.getText(),jTextField3.getText(); ftp.binary(); catch (IOException ex) JOptionPane.showMessageDialog(this, 连接主机:+hostname+失败!); 3. 4. 2 浏览模块功能介绍:(1) 列出服务器端的目录 文件详细内容(2) 向列表框添加分解得到的目录 文件(3) 向列表框添加目录文件核心代码: try TelnetInputStream t = ftp.list(); t.setStickyCRLF(true); while ( (ch = t.read() = 0) if (ch = n) list1.add(buf.toString().trim(); buf.setLength(0); else buf.append( (char) ch); catch (IOException ex) 3. 4. 3 文件上传模块功能介绍: 看有没有相应上传,若没有选,刚显示相应消息.若选了,判断:是目录,不进行认识操作;若是文件,则上传。核心代码:try RandomAccessFile sendFile = new RandomAccessFile( conPath() , r); sendFile.seek(0); TelnetOutputStream outs = ftp.put(filename); DataOutputStream outputs = new DataOutputStream(outs); while (sendFile.getFilePointer() = 0) getFile.write(ch); ins.close(); getFile.close(); catch (IOException ex) 3. 4. 5 断开与服务器的连接功能介绍:断开与FTP服务器的连接 try if (ftp!=null) ftp.closeServer(); list1.removeAll(); catch (IOException ex) 第四章 软件测试41 确定测试策略在本次设计中,对被测试程序的功能有明确的要求:即:1) 能否连接服务器2) 成功上传文件到服务器3) 成功从服务器下载文件4) 能成功断开与服务器的连接42 划分输入等价类表 41 建立连接等价类有效等价类无效等价类输入有效字符:输入无效字符:用户名,密码均合法:1用户名,密码为无效字符:6用户名,密码不合法:用户名合法,密码不正确:2用户名合法,密码为空: 3用户名为非注册用户名: 4用户名,密码均为空: 5表 42 上传文件等价类有效等价类无效等价类点击“上传文件”按钮,成功上传文件到服务器 1没有建立连接 2上传文件的请求失败 3传输文件失败 4表43 下载文件等价类有效等价类无效等价类点击“下载文件”按钮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国印刷线路板行业市场规模调研及投资前景研究分析报告
- 健康扶贫讲座课件
- 徐州市中小学教学研究室高二物理互感和自感教案
- 浙江省温州市十校联合体2022-2023学年高二下学期期末联考英语试卷(含答案)
- 东莞银行招聘试题及答案
- 安全常识考试题及答案
- 2025年铁件工艺品项目市场调查研究报告
- 安全工程师课件2018
- 2025年钢木结构型通风柜项目市场调查研究报告
- 2025年针织用针项目市场调查研究报告
- 山东2022年高考英语试题及答案
- 会员维护培训课件
- 邮政网点主题营销活动
- 2022届高三化学一轮复习实验强基练12无机物制备类探究实验含解析
- 临床诊疗指南癫痫病学分册
- 糖尿病用药指导基因检测报告单
- DB41-T 2437-2023 养老机构院内感染预防与控制规范
- 同济大学信纸
- 中外货物买卖合同FOB条款
- 业务员行贿受贿免责协议书
- 广东深圳光明新区渣土受纳场12·20-特别重大滑坡事故调查报告
评论
0/150
提交评论