网络文件传输网盘综合实训.docx
- 文档编号:26011671
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:42
- 大小:5.75MB
网络文件传输网盘综合实训.docx
《网络文件传输网盘综合实训.docx》由会员分享,可在线阅读,更多相关《网络文件传输网盘综合实训.docx(42页珍藏版)》请在冰豆网上搜索。
网络文件传输网盘综合实训
综合实训
题目
网络文件传输
指导教师
XX
姓名:
XX
学号:
2011310200723
班级:
计科X班
理学院计算机科学与技术系
中国·武汉
2014年07月
目录
1引言
1.1课题背景…………………………………………………………………
1.2国内外研究现状…………………………………………………………
1.3编写目的…………………………………………………………………
1.4参考资料…………………………………………………………………
2任务概述
2.1项目的功能………………………………………………………………
2.2项目实现的目标…………………………………………………………
2.3项目实现的相关软件……………………………………………………
2.4项目实现的相关知识……………………………………………………
3可行性分析
3.1技术可行性分析…………………………………………………………
3.1.1系统的简要概述………………………………………………………
3.1.2需用技术………………………………………………………………
3.1.3对相关知识的审核……………………………………………………
3.2经济可行性分析…………………………………………………………
3.3实施可行性分析…………………………………………………………
4.需求分析
4.1总体需求分析……………………………………………………………
4.2系统其他需求分析………………………………………………………
5.系统设计
5.1功能设计…………………………………………………………………
5.2界面设计…………………………………………………………………
6.数据库设计
6.1概念结构设计………………………………………………………………
6.2物理结构设计………………………………………………………………
7.系统详细设计及实现
7.1系统功能概况………………………………………………………………
7.2系统总体功能设计…………………………………………………………
7.2.1用户登录…………………………………………………………………
7.2.2用户上传文件的代码……………………………………………………
7.2.3用户下载文件的代码……………………………………………………
7.2.4用户删除文件的代码……………………………………………………
7.2.5用户分享文件的代码……………………………………………………
7.2.6用户取消分享文件的代码………………………………………………
7.2.7用户移动文件的代码……………………………………………………
8.软件测试
8.1用户登录篇…………………………………………………………………
8.2上传篇………………………………………………………………………
8.3文件下载篇…………………………………………………………………
8.4文件删除篇…………………………………………………………………
8.5文件移动篇…………………………………………………………………
8.6文件共享篇…………………………………………………………………
9.结束语
1引言
1.1课题背景
如今,随着基于B/S(浏览器/服务器)模式的Web系统的广泛使用,文件的上传与下载成为系统开发中经常用到功能。
比如,在基于web的email中,进行收发附件的操作;在管理信息系统中,存储和显示注册人员的照片等信息;在技术支持站点,发送和接收错误日志和缺陷报告文档;在web应用中,通过友好的web界面在用户问共享文件等,这些不同程序地都要用到文件的上传与下载功能。
因此编写网盘,实现各用户的上传下载是势在必行的事情。
1.2国内外研究现状
文件传送在最初的时候,经常使用三种方式:
FTP、Email及“网上邻居”,这三种方式都在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送,无法实现“一块空间,资源互见”的应用需求,这种基于“点对多”的共享模式需要寻求另外的传输途径,在线文件虚拟管理系统就是一种很好的解决方式。
1.3编写目的
根据目前形势的发展,编写网盘,使用户能方便的存储资源,下载资源,并与其他用户实现文件的分享!
网盘的最大优点就是,用户可以不用携带任何硬盘,便可以在任何地方,通过上网,访问浏览器网站,便可以下载到自己所需的资源,并且保存自己的资源。
随着计算机及网络技术的飞速发展,企业文件管理信息化、网络化是必然的趋势。
利用计算机和网络技术来进行文件管理,具有以下优势:
利于实现数据信息的共享,减轻管理员的工作负荷,使文件管理更科学、更规范、更安全。
因此,设计一个安全的网络文件传输系统是十分必要的。
1.4参考资料
1.Struts2程序开发使用教程
孙连伟武迪编著清华大学出版社
2.JSP应用教程
李咏梅余元辉编著清华大学出版社
3.还有就是万能的谷歌XX,各大博客网站咯
2任务概述
2.1项目的功能
实现用户注册,通过访问自己的主页,查看自己的网盘,并上传文件到自己的网盘,且可以实现对文件的下载,通过下载专区查看其他用户的共享文件,并且实现对这些共享文件的保存与下载。
当然,自己也可以将自己的网盘文件共享给别人,让文件里的知识传递给更多的学习者。
每个用户拥有多个网盘,网盘的容量都有限制。
2.2项目实现的目标
用户注册账户,获取自己的网盘,每个用户三个网盘(网盘容量分别为20M,50M,200M),然后用户可以上传自己的文件,将其设置为共享与私有,共享的文件将显示在其他用户的下载库里,供其他用户下载保存。
不同用户上传同一个文件保存各自网盘的时候,应该只真实的上传一次,以节省服务器的容量压力,但是对于用户来说,这是透明的,各自网盘里拥有各自的文件。
2.3项目实现的相关软件
1.浏览器(谷歌什么的都可以)
2.Myeclipse(相关配置都已经配置好)
3.MySQL(navicat实现对其操作)
4.Navicat(操作数据库)
5.
2.4项目实现的相关知识
1.JSP(实现web前台开发)
JSP简介:
JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。
Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为JavaServerPages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以<%,%>形式)。
JSP与Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
他的优势主要有:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP的局限性JSP的优势是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
2.Struts2(实现web前台和后台的衔接)
Struts2简介:
Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
Struts2是一个相当强大的JavaWeb开源框架,是一个基于POJO的Action的MVCWeb框架。
它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。
它的优点有很多,比如Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程,易于测试,Struts2的Action都是简单的POJO,这样可以方便的对Struts2的Action编写测试用例,大大方便了JavaWeb项目的测试。
全局结果与声明式异常为应用程序添加全局的Result,和在配置文件中对异常进行处理,这样当处理过程中出现指定异常时,可以跳转到特定页面,这一功能十分实用。
模块化,Struts2已经把模块化作为了体系架构中的基本思想,可以通过三种方法来将应用程序模块化:
将配置信息拆分成多个文件把自包含的应用模块创建为插件创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。
Struts和Webwork同为服务于Web的一种MVC框架,从某种程度上看,Struts2是从WebWork2上升级得到的。
甚至Apache的官方文档也讲:
WebWork2到Struts2是平滑的过渡。
我们甚至也可以说Struts2就是WebWork2.3而已。
在很多方面Struts仅仅是改变了WebWork下的名称。
Struts2对应的有自己的标签,并且功能强大。
Webwork也有自己的标签。
在2005年12月,WebWork与StrutsTi决定合并,再此同时,StrutsTi改名为StrutsActionFramework2.0,成为Struts真正的下一代。
3.Java(实现后台的开发)
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
编写Java程序时,应注意以下几点:
大小写敏感:
Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
类名:
对于所有的类来说,类名的首字母应该大写。
如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。
方法名:
所有的方法名都应该以小写字母开头。
如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:
源文件名必须和类名相同。
当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。
(如果文件名和类名不相同则会导致编译错误)。
主方法入口:
所有的Java程序由publicstaticvoidmain(String[]args)方法开始执行。
4.数据库
数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
3可行性分析
通过对所需的网络文件管理系统功能的分析,我进一步明确网盘需求,本系统应建立一个采用B/S(Browser/Server)结构模式的逻辑模型,前台通过编写JSP文件实现与用户的交互,后台通过编写JAVA代码实现网盘的各个功能,中间通过使用Struts2.0衔接,期间结合MYSQL数据库,来完善所需的功能。
满足客户在网页的个人主页里在线上传下载自己的文件,以及相关的功能。
下面,对逻辑方案的可行性进行一一分析。
3.1技术可行性分析
3.1.1系统的简要概述
该网盘系统主要分为两个部分:
用户网盘和下载专区。
3.1.2需用技术
Struts2.0,JAVA程序设计语言,JSP,数据库技术。
3.1.3对相关知识的审核
该系统对软件、硬件要求不高,目前市场上的一般计算机软件、硬件资源均能满足系统开发要求。
其中运用的主要软件有Myeclipse,服务器,数据库,管理数据库等,服务器采用Tomcat服务器,数据库采用MYSQL,管理数据库用navicat。
采用Struts2.0技术(该技术功能强大,扩展性强,前面已经介绍就不多说)并结合JSP,SQL等脚本语言,以上技术足以完成本系统的开发和设计。
所以,在技术层面,该系统是可行的。
3.2经济可行性分析
本系统是一个小型的Web应用系统,实现简单,有很强的实用性,而且只需要少量的人手进行开发,维护,不需要投入大量的人力资源;且对硬件服务器要求较低,不需要很大的经济投入。
综上所诉,此系统在经济上是可行的。
3.3实施可行性分析
网络文件传输系统(网盘)在网上建立起来以后,用户可以简单的上传,下载,并管理自己的网盘中存储的各个文件,同时具有成本低,使用维护简单的特点,在管理人员对网站的结构有一定程度上的了解的情况下,日后惊醒简单的管理是完全可以轻松达到的。
所以说,此系统在实施上是可行的。
通过对可行性的分析,无论在技术,经济和实施上,本系统的开发都是完全可行的。
4.需求分析
该网络文件传输系统给用户、办公单位提供了一个解决网络文件存储系统的平台,用户可以方便的将自己的文件上传并保存到自己的网盘中,并执行相应的各个操作。
用户的主要功能要求:
用户注册自己的账户,每个用户拥有自己的网盘。
用户可以上传保存自己的文件,也可以下载网盘里的文件。
用户可以下载其他用户共享的文件,也可以将自己网盘里的文件分享给别人,或者将其设为私有,不提供给别人下载。
用户的网盘大小有限制。
4.1总体需求分析
网络文件传输系统是一个看似简单的系统,它只服务于用户本身,并没有那么多的角色。
用户把文件信息录入系统中,之后系统把录入的文件信息显示给用户,并提供已录入系统的文件的下载,但是里面也有很多细节值得注意。
根据系统设想画出系统框架。
对于用户前台操作,通过对数据流图的更进一步的分析,可以分析出网络文件传输系统中具体到各模块的数据流向,可以画出整体数据流图:
对于整体数据流图,可以再次详细分析,画出各个详细的流程图:
1.用户登录:
2.用户主页操作:
3.对于每个网盘,执行的具体流程
4.对于私人文件,执行的流程:
5.对于共享文件,执行的流程:
6.下载共享库的数据流程:
4.2系统其他需求分析
通过对系统的功能等分析,可以判定系统具体所需满足的功能有:
用户进入个人主页,访问自己的网盘,上传文件,下载删除移动自己的资源等;或者访问下载专区,下载保存其他用户的共享文件。
通过这些功能画出功能模块图如图3-4所示。
5.系统设计
网络文件传输系统主要为用户提供网络上的存储空间(也就是网盘),在这个空间中用户拥有属于他的存储空间,用户可以像在本地计算机上操作自己的硬盘空间中的文件一样随意操纵该存储空间内的文件。
5.1功能设计
当用户注册账号之后,拥有三个网盘(盘1为20M,盘2为50M,盘3为200M)
此个网络文件传输系统为用户提供的操作包括:
1)查看自己的网盘容量和剩余容量
2)删除文件
3)移动文件到其他网盘
4)共享和取消共享文件
5)上传文件
6)查看文件
8)下载文件
以上功能是用户对自己空间内文件夹和文件所具有的基本操作,具有了这些操作,用户就可以在自己的存储空间内随意操作和管理自己的文件件资源。
5.2界面设计
用户进入网络文件传输系统以后就进入如图4-1所示的个人主页主界面,在这里用户可以对自己的在线文件管理系统实施像对本地硬盘一样的操作。
在如图4-1所示的个人主页主界面中,首行的1表示用户的用户名。
退出表示退出系统,点击我的网盘和下载专区将分别进入网盘和下载专区。
点进我的网盘将跳转到网盘页面,如下图所示!
在下图中,显示了用户的三个网盘,和上传文件的操作。
选择文件,将可以上传想上传的文件。
点击我的网盘,可以看到网盘里的文件以及网盘容量使用情况。
如下图所示:
对于网盘内的文件,可以执行其相应的操作,都一目了然。
网盘容量上面也有显示。
点击下载专区的时候,可以看到各用户共享的文件,并可以下载和保存该文件。
点击保存到我的网盘可以跳转到保存页面,如下所示:
因为有三个网盘,所以需要选择保存到那个网盘。
当然因为各个网盘容量的不一样,文件存入到相应的网盘很有可能就会超出了容量大小,这样会提示文件过大。
6.数据库设计
6.1概念结构设计
系统各种功能的实现离不开数据库的支持,因此数据库的设计是本系统不可缺少的一部分。
首先对本系统的数据流进行分析,得出数据流图,然后进行数据库的E-R图分析后,最后才能进行数据库逻辑结构设计和数据库实现。
根据需求分析,确定系统中的实体,并且分析其属性,实体与实体间的关系是要研究的重点对象,实体之间存在一对一、一对多、多对多的关系。
根据此网站功能需求进行分析,画出此网站的E-R图,如图所示:
6.2物理结构设计
整个系统包括的信息由总体用户和文件组成,可将这些信息抽象成为下列系统所需要的数据项:
1)所有用户表:
(编号,用户名,用户密码,用户网盘剩余容量,)
2)文件信息表:
(编号,文件名,文件类型,文件拥有者,文件大小,文件是否共享,文件所在网盘,文件备注)
(下划线项是主键)
服务器上建立名为user的数据库,其中包括以下表:
用户表:
文件表:
7.系统详细设计及实现
7.1系统功能概况
系统包括以下页面:
主页(文件浏览页面)、我的网盘页面,下载专区页面,
网盘页面如图:
下载专区页面如图:
7.2系统总体功能设计
网络文件传输系统包含的业务逻辑主要是对文件的操作,经常访问数据库,执行相应的操作。
在用户登录的时候,需要将用户信息传递到后台,后台访问数据库,查询该用户是否存在,若存在,跳转相应的页面,不存在跳转注册页面。
下面前台用户执行的核心代码:
7.2.1用户登录
用户登录的前台代码:
之后经过struts2.0到后台执行相应的代码!
Struts2.0代码为:
这段代码里,success标识登陆成功将跳转welcome,jsp页面
Error表示登录失败,
None表示不存在该用户,将跳转none.jsp页面,使其注册。
程序运行到后台后,链接数据库的代码为:
查询数据库,是否存在该用户的代码为:
如果不存在将通过none传到前台,执行相应的注册工作;
如果存在,则登陆成功。
7.2.2用户上传文件的代码
前台核心代码为:
Struts代码:
这段代码里,filenamenull表示没有选择上传的文件,
Success表示上传成功
Userfilehad表示该用户网盘已经存在该文件,无须再上传
Filetoolarge表示该文件过大
Largercontainer表示该文件大小超过网盘的剩余容量。
后台上传文件代码为:
7.2.3用户下载文件的代码
核心代码为:
Struts代码为:
后台执行的核心代码为:
7.2.4用户删除文件的代码
前台核心代码为:
Struts代码为:
这段代码里:
deletesuccess表示删除成功的相应处理
Deletefile表示没有删除成功的代码
后台执行代码为:
首先获取文件大小:
然后更新网盘容量:
更新用户记录,及删除文件:
7.2.5用户分享文件的代码
前台核心代码为:
Struts代码为:
后台执行代码为:
7.2.6用户取消分享文件的代码
取消分享的后台代码为:
7.2.7用户移动文件的代码
前台代码为:
Struts代码为:
后台代码为:
首先需要获取文件大小,核心代码为:
然后获取目的网盘容量
如果目的网盘剩余容量不足,则直接提交给前台处理,否则开始更新。
更新目的网盘容量
更新原有网盘容量
更新文件状态
8.软件测试
8.1用户登录篇
8.1.1当用户登录输入的密码不正确的时候
界面显示如下
8.1.2用户注册的时候用户名已经存在
界面显示如下
8.1.2用户注册的时候,密码与确认密码不一致
8.2上传篇
8.2.1当上传的时候未选择文件的时候
界面如下
8.2.2当上传的文件过大的时候(文件大小由自己设定,这里限定为10M)
界面如下
8.2.3上传文件的时候,网盘容量不足
界面如下
8.3文件下载篇
后台管理员务必要保管好,不让非法人员删除服务器上的文件,以及随意篡改数据库,那么文件下载的时候,不会出错的,就此对下载不进行测试。
8.4文件删除篇
删除文件的时候,应该及时更新网盘容量,当删除文件“小星星.mp3”之前,页面为:
上面网盘容量为0.929M
删除文件“小星星.mp3”之后观察变化
上面网盘容量增加了,变为了3.75M。
8.5文件移动篇
当文件移动的时候,要求目的网盘容量足够,以及及时更新
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 文件传输 综合