FTP客户端的设计与实现标准的实验报告.doc
- 文档编号:244029
- 上传时间:2022-10-07
- 格式:DOC
- 页数:23
- 大小:355.11KB
FTP客户端的设计与实现标准的实验报告.doc
《FTP客户端的设计与实现标准的实验报告.doc》由会员分享,可在线阅读,更多相关《FTP客户端的设计与实现标准的实验报告.doc(23页珍藏版)》请在冰豆网上搜索。
铜陵学院
《计算机网络》
课程设计
设计题目:
FTP客户端的设计与实现
系别数学与计算机科学院班级11计算机本
(2)
学生姓名施德磊学号1106111111
学生姓名李煜学号1106111100
学生姓名殷晨晨学号1106111161
学生姓名李新年学号1106111147
学生姓名张强学号1106111131
学生姓名林黄灿学号1106111102
指导教师汪永生职称讲师
起止日期:
2013年12月15日起——2013至12年20月日止
2
FTP客户端的设计与实现
目录
第一章序言 2
1.1研究背景 2
1.2开发工具 2
第二章系统需求分析 2
2.1功能需求 2
2.2系统模型设计 3
2.3系统工作流程设计 3
第三章系统设计 4
3.1实现功能 4
3.2函数说明 4
3.2.1界面设计代码 4
3.2.2功能实现函数 9
第四章系统实现 13
4.1界面设计的实现 13
4.1.1连接服务器 13
4.1.2获取文件列表 14
4.1.3断开服务器 14
4.1.4上传文件 15
4.1.5下载 17
4.1.6重命名 18
4.1.7删除 19
4.1.8刷新 20
总结 21
参考文献 21
第一章序言
摘要
FTP是Internet上用来传送文件的协议。
它是为了我们能够在Internet上互相传送文件而制定的文件传送标准,规定了Internet上文件如何传送。
通过FTP协议,我们就可以跟Internet上的FTP服务器进行文件的上传或下载。
本文以实现一个简单易用的FTP客户端为目标,通过分析FTP协议的基本工作原理和FTP的数据传输原理,研究如何使用Java工具对FTP客户端进行设计,选择Java类库中的ftpclient类来实现FTP客户端程序的上传下载等主要功能,并用Jbuilder2006软件提供的一个支持可视化编程的开发环境,从而实现了对FTP客户端的开发.
关键词:
FTP协议、工作原理、ftpclient、上传下载
1.1研究背景
FTP是Internet上最早也是最广的应用,直到今天它仍是最重要和最基本的应用之一。
用FTP将信息下载到本地是一件十分普遍的事。
也随之出现了许多下载软件。
尽管远程登录(Telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。
如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。
FTP正是完成这项工作的工具,你可以在任意一个经过文件传输协议(FTP)访问的公共有效的联机数据库或文档中找到你想要的任何东西。
传统的数据库应用系统采用的是客户机/服务器(Client/Server)模式,有高度的交互性,高效的用户界面等优点.
1.2开发工具
Java编程语言,Java编程语言的主要特性是个简单、面向对象、分布式解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
第二章系统需求分析
2.1功能需求
1.实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。
2.通过输入服务器地址、用户名和密码、可以实现远程FTP主机的登录。
3.提供本地文件的上传功能,可对FTP主机文件进行下载、上传、删除、重命名等文件操作。
2.2系统模型设计
控制进程
数据传送进程
用户接口
命令与应答
控制连接
数据连接
文件传输
数据传送进程
控制进程
服务器
客户端
图2.2FTP的基本模型
2.3系统工作流程设计
客户端用户
登录
登录验证
操作内容列表
查看文件列表
连接成功至
服务器端
上传文件
重命名文件
上翻文件列表
删除文件
下翻文件列表
下载文件
文件管理
连接失败退出
第三章系统设计
3.1实现功能
用户登陆用户退出文件上传文件下载文件重命名
文件删除上翻文件目录下翻文件目录
界面实现部分:
设计为一个用户界面,上面包括各种用户按钮、文本输入栏、状态栏等等。
具体如下:
服务器地址信息输入栏、端口信息输入栏、用户名、密码输入栏、用户登陆(连接)按钮、用户退出(断开连接)按钮、服务器文件显示列表框、下载文件按钮、上传文件按钮、重命名文件按钮、删除文件按钮、上一级目录按钮,下一级目录按钮,状态栏。
3.2函数说明
3.2.1界面设计代码
每个按钮对象注册监听器对应相关的业务逻辑,调用FtpBean类中的对应方法。
下面是页面部分实现的主要代码以及相关说明:
packageftp;
importjava.awt.event.*;
importjava.awt.*;
importjava.util.*;
importjava.util.List;
importjava.util.StringTokenizer;
importjava.io.*;
importjavax.swing.*;
importjavax.swing.event.*;
publicclassFTPextendsJFrame
{
FtpBeanftp=newFtpBean(); //FTP客户端对象
privateFileWriterwrite;
privatePrintWriterout;
privateDatetime;
privateJTextFieldurl=newJTextField();//FTP服务器地址
privateJTextFieldport=newJTextField();//FTP服务器端口
privateJTextFieldusername=newJTextField();//用户名
privateJTextFieldpassword=newJTextField();//密码
privateJTextFieldstatus=newJTextField();//当前状态
privateJButtonconnectButton=newJButton("连接");//连接按钮
privateJButtoncloseButton=newJButton("断开连接");//断开连接按钮
privateJPopupMenupopup=newJPopupMenu();;
privateJMenuItemrefresh=newJMenuItem("刷新");//右键弹出菜单
privateJMenuItemdelete=newJMenuItem("删除");
privateJMenuItemdownload=newJMenuItem("下载");
privateJMenuItemupload=newJMenuItem("上传");
privateJMenuItemrename=newJMenuItem("重命名");
privateJMenuItemupDir=newJMenuItem("上级目录");
privateJMenuItemshowLog=newJMenuItem("显示日志信息");
finalDefaultListModelm=newDefaultListModel();//显示文件列表
JListfileList=newJList(m);
JScrollPanefileScrollPane;
privateDimensionfaceSize=newDimension(400,600);//框架大小
publicFTP()
{
init();
createPopup();//弹出菜单
time=newDate();
try
{
write=newFileWriter("log.txt",true);
out=newPrintWriter(write,true);
}
catch(IOExceptionioe)
{
ioe.printStackTrace();
}
status.setEditable(false);
this.add(status,BorderLayout.SOUTH);//下方
connectButton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
connect();
}
});
closeButton.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
close();
time=newDate();
out.println(time+"离开服务器:
"+url.getText());
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//添加框架的关闭事件处理
this.pack();
this.setSize(faceSize);//设置框架的大小
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((int)(screenSize.width-faceSize.getWidth())/2,
(int)(screenSize.height-faceSize.getHeight())/2);
this.setResizable(false);
this.setTitle("FTP服务端"); //设置标题
setVisible(true)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FTP 客户端 设计 实现 标准 实验 报告