1、基于Struts2架构的网络文件管理系统题目: 基于Struts2架构的网络文件管理系统任务内容(包括内容、计划、时间安排、完成工作量与水平具体要求)本设计完成基于Struts2架构的网络文件管理系统的设计,本系统分为后台数据库的建立和维护,以及前端应用程序的开发两个部分,主要包括用户模块的设计和管理元模块的设计后台数据库要求数据一致性和完整性强,数据安全性好;前端的应用程序需要功能完备,易于使用。本设计需要采用Mysql数据库,包括数据库建立和后台维护,以及对数据库的相关操作。功能模块有以下几个部分:1、登录管理模块:主要实现用户的登录,用户数据信息验证;2、文件上传下载模块:主要实现已开户
2、用户可可以上传下载自己的文件,管理自己的文件;3、文件共享模块:主要实现对文件的共享,和对共享文件的使用;4、管理员模块:主要实现对注册用户和上传文件的管理;所完成的软件要求具有数据一致性、完整性强,数据安全性好的后台数据库以及功能完备,易于操作的前端应用程序。计划时间安排如下:(2010-2011第一学期)1720周:查阅与课题相关的文献,搜集资料,对课题有一定的了解,进行整体方案设计。对现有资料进行分析,查阅相关资料、熟悉本系统的适用范围,进行相关的可行性分析报告,撰写开题报告。 (20102011第二学期)12周:建立数据库、系统总体功能框架设计及系统详细设计的准备311周:根据以上设计
3、,实现系统整体功能,完成初步的调试工作 1114周:调试阶段、发现问题及时修改并完善设计、撰写论文并打印、准备答辩14周 安排答辩。查阅文献篇数: 10篇以上设计字数:大约8000字专业负责人意见签名:年 月 日基于Struts2架构的网络文件管理系统摘 要 随着网络技术的日益普及和信息化建设的重视,网络硬盘是一种新型安全的网络存储系统,主要适用于个人文件存储,可以用作个人的一个网络盘,网络硬盘是一块专属的存储空间,用户通过上网登录网站的方式,可方便上传、下载文件。只要能上网,就可以用网络硬盘登录到服务器上进行个人文件的上传、删除及文件目录的新建、修改、共享等操作,随时随地存储自已的个人文件。
4、本设计基于现状,采用编程语言jsp作为开发工具外挂Mysql数据库。力图设计一个切实可行的应用系统方案。 本设计详细的介绍了系统模块设计的开发过程。关键词:网络硬盘;存储空间;上传;下载Struts2 architecture based on Network File Management SystemAbstractWith the more universalization and information construction recurrence of the net disk is a new type and safety storage system of the netwo
5、rk. It is chiefly using in the storage of the personel file and an U disk of the net. netdisk is a special storage space. User can post the network site as the regime,who may upload and download the file conveniencely.when go to the internet,you may make use of the netdisk to post the server to uplo
6、ad,delete,make new project,update the file directory and other operation. The user can store your personel file at any moment and anywhere.In order to give a practical scheme of the applicable system, the article base on the present state ,adopting the programming language asp as the develop tool ,
7、With the access database, the article detaily introduces the developing process of the system model.Keywords: netdisk; storage space; upload; download目 录摘要Abstract1 绪论11.1 课题背景11.2 课题研究意义12相关技术介绍22.1 JSP技术22.1.1 JSP技术简介22.1.2 系统开发环境32.2 STRUTS2技术32.2.1 MVC模式32.2.2 Struts2概述32.2.2 Tomcat服务器33项目设计需求分析
8、43.1需求分析43.2功能需求分析43.3可行性研究44项目设计84.1 项目设计的一般原理84.1.1用户模块设计84.1.2文件管理系统的层次结构图84.1.3功能模块的详细设计94.2数据库设计134.2.1数据库表设计145系统主要功能模块的实现175.1登录功能的实现175.2文件基本功能的实现185.2.1文件上传功能的实现185.2.2文件管理功能的实现195.3管理员基本功能的实现196 结论21参考文献致 谢基于Struts2架构的网络文件管理系统 1 绪论1.1课题背景在互联网上,你可以浏览免费信息、看免费杂志、用免费电子信箱、拥有免费主页,可是,不知您发现了没有,你的硬
9、盘越来越不够用了.随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要的作用。而与之相伴随的就是大量的文件而且是一些经常使用的文件。虽然各大计算机硬件生产商都推出新的产品来帮助人们解决携带文件的困扰,但是携带一些存储 设备有它自身的缺点和意想不到的麻烦。为方便人们对文件的携带,加快办公手段的现代化,根据人们的实际需求,我们提出了基于计算机网络的网络硬盘系统的设计方案,并根据该设计方案部分地实现了网络硬盘的基本功能. 随着网络技术在社会应用的普及,各地区相继建立了自己的网络,并开始实施网上办公和网上交流。网络硬盘是将用户的文件存放在互联网上,方便用户“携带”他
10、们的文件,方便用户与他的亲朋好友“共享”他们的文件,用户可以有如下操作:下载、上传、复制、挪动、删除文件,以及新建文件夹;开设、冻结、删除、修改下级账号等等。人们可以不受时间和空间的限制,随时随地从自己的硬盘中取出想要的文件。相对于Email,网络硬盘上传文件方便,下载快速,进入空间直接,界面更简单明了。1.2 课题研究意义现在国内外对此类系统的开发与研究也是很有实用性的,基本上满足各企业的自身特点,来进行文件管理,同时,该类系又都在不断地深入与发展,来适应更多的企业。但网络文件管理系统的安全性还有待于今后的进一步开发与实践。基于以上契机,为了能够设计出一个简洁、易懂、安全的一套网络文件管理系
11、统是势在必行的。当然使用文件管理科学化,规范化,提高网络文件管理的高效性和安全性,因此建立一套有效且安全的网络文件管理系统也是十分必要的。此设计是针对Internet时代的数据管理及共享需求而开发的网络数据管理系统。它可以实现用户管理,登录验证,可以管理存放在服务器端得多种文件类型的文件,且操作简单,可以实现文件的批量上传、文件下载。2 相关技术介绍2.1.1 JSP技术简介JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支
12、持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能8。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的J
13、ava代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 JSP技术的优点1:(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性
14、是现而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP技术的缺点:(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java的运行速度是用clas
15、s常驻内存来完成的7,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。2.1.2系统开发环境(1)结构:后台服务B/S结构(2)操作系统:Windows7 (3)数据库:MYSQLORACLE是一个可用于多种操作系统的关系型数据库系统,是一个具有客户机/服务器体系结构的分布式数据库管理系统。因为本次开发只是作为对大学四年所学知识的一个检验,不是作为商用,所以选择该数据库。JDBC API用于连接Java应用程序与各种关系数据库,但由于JDBC代码比较繁琐,关系复杂,不容易操
16、作,选用更为合适的HIBERNATE。应用服务器 :LINUXLINUX系统是一个开源的操作系统,可以根据企业的业务要求选择不同的版本,具有无比的安全性和适应性,并且支持ORACLE数据库。开发工具:MyEclipse使用MyEclipse做开发,为编程人员带来了很多方便,使用MyEclipse软件不需要对程序进行编译,该工具在做保存时自动进行编译。MyEclipse还可以打开数据库的连接,只需加入相应的jar包就可以对软件进行开发。开发语言:JAVA选择JAVA语言进行开发,JAVA是面向对象的语言,是对现实生活的抽象。JAVA语言是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象
17、。对象之间通过消息相互作用。JAVA语言的三大特性:封装、多态性和继承。Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。2.2 Struts2技术2.2.1 MVC模式MVC模式是目前非常流行的WEB应用程序开发模式。MVC可以分为以下三层:(1)视图层(View):视图层就是MVC中的V。该层主要用于显示用户接口,并将采集用户的录入信息提交给控制器层的组件。(2)控制器层(Controler):控制器就是MVC中的C。该层主要用于接收由视图层提交过来的请求信息,并根据某些业务逻辑规则调用模型层中的组件。也可以讲该层看作是视图层和模型层的桥梁。(3)模型层(Model):模型层就
18、是MVC中的M。该层可以继续分为更细的部分,如数据访问层、业务逻辑层等。该层组件主要用于访问数据库以及处理业务逻辑。2.2.2 Struts2概述Struts是一个MVC框架,因此它具备MVC框架的优点9。Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并,全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork
19、的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化6。 经过六年多的发展,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展11。 对于Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重的问题。首先,Struts1支持的表现层技术单一。由于Struts1出现的年代比较早,那
20、个时候没有FreeMarker、Velocity等技术,因此它不可能与这些视图层的模版技术进行整合。其次,Struts1与Servlet API的严重耦合,使应用难于测试。最后,Struts1代码严重依赖于Struts1 API,属于侵入性框架10。下面是struts2的框架图。如图2-1。图21 Struts2框架图 从目前的技术层面上看,出现了许多与Struts1竞争的视图层框架,比如JSF、Tapestry和Spring MVC等。这些框架由于出现的年代比较近,应用了最新的设计理念,同时也从Struts1中吸取了经验,克服了很多不足。这些框架的出现也促进了Struts的发展。目前,Str
21、uts已经分化成了两个框架:第一个是在传统的Struts1的基础上,融合了另外的一个优秀的Web框架WebWork的Struts2。Struts2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心的。Struts2为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。Struts1分化出来的另外一个框架是Shale。这个框架远远超出了Struts1原有的设计思想,与原有的Struts1关联很少,使用了全新的设计思想。Shale更像一个新的框架而不是Struts1的升级。2.3 Tomcat服务器Tomcat 很受广大
22、程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能4。图22Tomcat标志Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独
23、运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。3项目设计需求分析3.1需求分析随着计算机网络通讯的飞速发展,计算机技术已经渗透到社会的各个领域。计算机的技术的广泛应用正逐步改善人们的生活,学习,工作。每个人都想拥有一份网络资源来方便学习和工作。在日常工作中,人们需要随身携带重
24、要的文件来及时传递信息。这可以通过传统的计算机硬件设备,比如:3.5英寸A盘,或者是现在广泛应用的U盘,MP3等设备。用户可以方便的将自己的文件资料存储在这些设备中。然而,由于硬件设备自身的特殊性,在长期的使用过程中,磁道和扇区很容易被损坏,并且由于这些设备体积小,重量轻。也极其容易被丢掉。这些问题都会给用户增添一些不必要的麻烦,同时,随着人们物质文化生活水平的提高,用户为了丰富自己的业余文化生活,需要将一些图片或者多媒体课件保存在一个特殊的存储空间中以方便自己的使用以及好友对该文件资料的享用。出于解决用户这样的问题,决定开发网络硬盘文件系统。3.2功能需求分析系统需要有2种客户,一种是普通客
25、户,一种是高级管理用户。(1)普通用户:普通用户首先需要有个帐户,有个用户登录界面,如果没有帐户,需要有个注册的界面,使用户能够进行注册。当普通用户进入系统时,他应当可以做以下功能:a文件上传b文件下载c文件删除d文件共享e用户信息修改(2)高级用户:高级用户和普通用户不一样,高级用户不仅可以管理自己的文件和消息,可以管理所有人的文件,还可以管理普通用户的使用权,就是普通用户注册后,不能马上生效,要通过高级用户认证才可以有使用权。另外高级用户也要有登录功能,只有成功登陆的高级用户才可以有高级用所有的限。3.3可行性研究也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能
26、性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Client/Server模式进行开发。
27、结合了Internet/Intranet技术。数据库服务器选用微软公司的SQL Server数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。(3)时机可行性:目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。(4)管理
28、上的可行性:主要是教务处管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。4项目设计4.1项目设计的一般原理经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。概要设计的基本目的就是回答“概括的说,系统应该如何实现?“这个问题,因此,概要设计的工作将划分出组成系统的物理元素程序,文件,数据库,人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后
29、仔细设计。4.1.1用户模块设计概要(1)用户登陆模块:已经注册好的用户进入该系统,必须先进行注册,否则无法进入系统。(2)用户注册模块:注册包括,名称,密码,QQ,邮箱,性别,年龄等基本信息,填好后保存至用户数据表。(3)用户信息:当以注册好的用户名进入系统,将显示用户的具体注册信息。(4)上传文件模块:将文件保存至指定的位置。(5)创建目录:将创建一个文件。(6)查看目录:可查看文件的相关信息。(7)共享目录:作为公共资源与其他用户使用。(8)在线用户:可以浏览当前在线的用户人数及信息。(9)退出登陆:返回登陆界面。4.1.2文件管理系统的层次结构图网络硬盘系统分为两个子系统:用户系统和后台管理系统。如图4-1。4.1.3功能模块详细设计(1)用户登录模块用户登录模块主要是数据验证,为了减少对服务器的无用请求,有一些数据校验不需要发送到服务器客户端进行验证,例如,用户名和密码输入为空时,用户名和密码输入长度不符合规范时,这些
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1