基于Web的文件服务器的设计与实现学士学位论文_第1页
基于Web的文件服务器的设计与实现学士学位论文_第2页
基于Web的文件服务器的设计与实现学士学位论文_第3页
基于Web的文件服务器的设计与实现学士学位论文_第4页
基于Web的文件服务器的设计与实现学士学位论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1前言11.1研究背景11.2研究意义11.3国内外研究概况及发展趋势12 相关技术介绍42.1 asp技术概述42.2 ajax技术概述52.2.1 ajax简介52.2.2 ajax的工作原理52.3开发工具简介52.3.1 iis服务器52.3.2 sql server2000数据库72.3.3 access2003数据库72.3.4 dreamweaver8工作平台83 系统分析103.1 系统功能描述103.2 系统功能结构图103.3 系统流程图113.4 系统e-r图114 系统设计134.1 系统的体系结构134.2 系统数据库设计144.3 功能模块设计与实现164.3

2、.1 用户注册模块设计与实现164.3.1 用户登陆模块设计与实现174.3.2 文件管理模块194.3.3 超级管理员模块244.3.4 浏览查询文件模块27总结30参考文献31致 谢32毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教

3、师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明

4、。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日1前言1.1研究背景随着科学技术的发展,人们每天面对的信息量逐渐增大,通常人们都希望能够随时随地地得到自己想要的信息。然而随着工作场所的转换,人们往往需要事先

5、将需要的文件拷贝到u盘或者移动硬盘中,然后带到另一个工作场所进行处理。然而u盘或者移动硬盘会由于电脑病毒或者人为的原因造成文件损坏或者文件丢失,有时也会由于人为的遗忘而带来很大的不方便。由此而见,人们需要一种能够在任何地方都能轻松获取文件的工具。中国互联网络信息中心(cnnic)研究报告称,目前,中国互联网普及率为28.9%,随着互联网的普及,网络给工作、生活、学习等等带来了极大的便利。利用互联网可以很方便的浏览所需的信息。1.2研究意义现有的远程文件管理系统主要有以下两种类型:1.基于ftp协议的系统;2.各操作系统自带的,只能在相同的操作系统之间进行远程管理的系统。对于第一种系统,有安装,

6、管理等复杂缺点,并且同一种服务器端或客户端软件只能在同一种操作系统上安装使用;而第二种操作系统只能在相同的操作系统中使用。web文件管理系统(web网盘),一种b/s模式的文件管理系统,不占用你任何硬盘空间,不需要客户端,也可以不管任何操作系统,只要坐在办公室里打开电脑双击浏览器就能随时随地的操作。1.3国内外研究概况及发展趋势对web网盘的研究为三种,功能问题,空间问题和速度响应问题。上世纪90年代之前,web网络硬盘的主要功能是存储功能,及用户只能上传下载信息数据简单操作。提供网络硬盘产品的服务商较少,以电信营业商为主,赢利模式以有偿服务(收费)为主。上世纪90年代至21世纪初,随着信息技

7、术不断发展,web网络硬盘功能逐步加强,很多互联网纷纷推出web网络硬盘产品作为营销亮点,吸引留着用户,功能丰富,这个阶段网络硬盘产品的提供者主要以邮箱服务提供商为主。21世纪初至2009年,互联网的迅猛发展,为网络硬盘发展提供了广阔的市场前景,这时出现了专业提供网络硬盘服务的营运商,但在收费还没有被培养起来的市场竞争环境中,营运商一直难于摆脱亏损的窘境。直到云计算(存储)技术的应用,才给网络硬盘营运商带来了一丝曙光,最具代表性的就是数据银行的出现,数据银行是一个构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问的系

8、统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系列需求。而如今功能问题已经无关紧要了,因为现在的web网盘技术已经达到了让你对文件的操作就想打开自己的电脑对自己本地文件操作一样。当前的问题在于后两个空间响应问题和速度问题。空间响应问题涉及的是网盘存储技术问题,速度则为上传网速问题。现今主要的网盘存储技术有两种网络存储技术如网络连接存储(nas)和存储区域网络(san) ,nas(network attached storage:网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接在网络上, 具

9、备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。san是一种网络,是在服务器和存储器之间用作i/o路径的专用网络。nas最初是作为一种采用ip协议的专用文件服务器。相反,san则可以一站式购买一大堆基于块的存储,并且往往可以达到增强型光纤通道速度(光纤通道将存储设备互联,让他们进行高速通信未来将达到10gbps。不过目前4gbps更常见)。基于文件的存储是先定义文件然后提供文件,由此来保存客户系统的工作。相反

10、,基于块的存储则把描绘数据块文件的工作留给了客户机的cpu。所以有一段时间,nas完全表示利用ip的文件传送,而san则表示光纤通道,或者可以假设,就是采用新iscsi标准直接进行连接。光纤通道是无须消耗处理器时间寻找网络数据流的唯一存储协议,这是因为iscsi和基于ip的协议都需要用软件分析网络数据流,这就占用了宝贵的cpu时间。但是nas和san的不同最近已经在几方面有所变化,这主要归功于nas创导厂商networkappliance的努力。当这家厂商向其nas设备增添了光纤通道和iscsi功能后,nas看起来就很象san了。除了让nas更象san以外,networkappliance为n

11、as技术引入iscsi功能还需要其它一些理由。networkappliance开始向其nas设备增添类似san的光纤通道和iscsi功能,是为了满足exchange等应用的认证标准,exchange的开发人员很反感基于文件的存储。为了达到这一目的,在标准推出之前,netapp就向其设备中引入了iscsi。这一优势滚雪球般不断增长。当微软和novell慎重地推出iscsi驱动器时,linux开发人员已经更早地采用了这一技术,那是在networkappliance推出唯一的iscsinas产品时。networkappliance在定义市场方面的优势可与它在现场部署方面的优势相媲美。networka

12、ppliance就像是nas领域的一头大猩猩。gartnerdataquest的研究表明该公司以市场份额总收入独占鳌头。networkappliance的客户基础达到25,000至30,000人,以示对nas的支持。networkappliance的iscsi事实标准并不适合于每个人,存储巨头emc宁愿采取更谨慎的办法。展望iscsi会有更长远的美好前景。虽然现今网盘存储技术已经相当成熟了,特别是云技术的出现,但web网盘依然不能很好的普及,其关键因素是网速的问题,虽然核心网的传输速度相当高,但到户的网速却不是很高,2m的网速实际上传为200kb,而1g的文件按照这个速度上传,所需要的时间则为

13、一个半小时,这是一个相当长的时间,而下一代网络将会是光纤到户,这给web网盘提供了更有利的条件。2 相关技术介绍本设计主要采用了:iis平台 ,access、sql server 2000开发工具。应用了asp,以及ajax + jscript等相关技术。2.1 asp技术概述 asp(active server pages,动态服务网页) 是微软公司开发的服务器端脚本环境,是目前流行的开放式web应用程序的开发技术.asp的主要特性是能够把脚本,组件,html和强大的web数据库访问功能综合在一起,形成一个能够在服务器上运行的完整应用程序。asp具有以下特点:1) 使用vbscript或者j

14、script作为脚本语言,简单易懂。结合html代码,即可快速完成网站的程序设计。2) 为纯文本文件,可在多种文本及应用程序编辑环境中编写,如记事本、uitraedit、visual basic 、dreamweaver等。3) 代码编写简单,能在服务器端直接执行,无需编译,可快速修改程序并节省大量的资源。4) 与浏览器无关,在用户端只要使用可执行html代码的浏览器,即可浏览asp所设计的网页内容。asp所使用的脚本语言(vbscript 、jscript)均在web服务器端执行,用户端的浏览器不需要执行这些脚本语言。5) asp能与任何activex scripting语言相容。除了可使用

15、vbscript或jscript语言来设计外,还可以通过plug-in的方式,使用由第三方所提供的其他脚本语言,例如rexx、perl、tcl等。脚本引是处理脚本程序的com(component object model)物件。asp的源程序不会被传送到客户浏览器,从而可以避免所写的源程序被其他人剽窃,提高了程序的安全性。能胜任任何微软web服务器的各种动态数据发布,可使用服务器端的脚本来产生客户端的脚本。2.2 ajax技术概述2.2.1 ajax简介ajax是asynchronous javascript and xml的缩写。ajax应用程序所用到的基本技术包括:1) html用户建立w

16、eb表单并确定应用程序其他部分使用的字段。2) javascript代码是运行ajax应用程序的核心代码,帮助改进与服务器应用程序的通信。3) dhtml 或dynamic html,用于动态更新表单。使用div、span和其他动态html元素来标记html。4) 文档对象模型dom用于处理html结构和(某些情况下)服务器返回的xml。2.2.2 ajax的工作原理ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像一些数据验证和数据处理等都交给ajax引擎自己来做,只有确定需要从服务器读取新数据时再由ajax引擎代为

17、向服务器提交请求(主要是读取xml格式的数据)。ajax的一个最大的特点是无须刷新页面便可向服务器传输或读取数据(又称无刷新更新页面),这一特点主要得益于xmlhttp组件xmlhttprequest对象。这样就可以像桌面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新界面或每次将数据处理的工作提交给服务器来做,既减轻了服务器的负担,又加快了响应速度,缩短了用户等候时间。2.3开发工具简介2.3.1 iis服务器iis是internet information server的缩写,它是微软公司主推的服务器,最新的版本是windows2003里面包含的iis 6,iis与window

18、server完全集成在一起,因而用户能够利用windows nt server和ntfs(nt file system,nt的文件系统)内置的安全特性,建立强大,灵活而安全的internet和intranet站点。iis支持http(hypertext transfer protocol,超文本传输协议),ftp(fele transfer protocol,文件传输协议)以及smtp协议,通过使用cgi和isapi,iis可以得到高度的扩展。iis支持与语言无关的脚本编写和组件,通过iis,开发人员就可以开发新一代动态的,富有魅力的web站点。iis不需要开发人员学习新的脚本语言或者编译应用

19、程序,iis完全支持vbscript,jscript开发软件以及java,它也支持cgi和wincgi,以及isapi扩展和过滤器 。iis支持服务器应用的microsoft backoffice系列,microsoft backoffice系列包括以下内容:1) microsoft exchange server 客户/服务器通讯和群组软件;2) microsoft proxy server 代理服务器;3) 用于连接ibm企业网络的microsoft sna server;4) 用于集中管理分布式系统的microsoft systems management server;5) micro

20、soft commercial internet system(mcis)。iis的设计目的是建立一套集成的服务器服务,用以支持http,ftp和smtp,它能够提供快速且集成了现有产品,同时可扩展的internet服务器。iis相应性极高,同时系统资源的消耗也是最少,iis的安装,管理和配置都相当简单,这是因为iis与windows nt server网络操作系统紧密的集成在一起,另外,iis还使用与windows nt server相同的sam(security accounts manager,安全性账号管理器),对于管理员来说,iis使用诸如performance monitor和sn

21、mp(simple network management protocol,简单网络管理协议)之类的nt已有管理工具。iis支持isapi,使用isapi可以扩展服务器功能,而使用isapi过滤器可以预先处理和事后处理储存在iis上的数据。用于32位windows应用程序的internet扩展可以把ftp,smtp和http协议置于容易使用且任务集中的界面中,这些界面将internet应用程序的使用大大简化,iis也支持mime(multipurpose internet mail extensions,多用于internet邮件扩展),它可以为internet应用程序的访问提供一个简单的注册

22、项。iis的一个重要特性是支持asp。iis 3.0版本以后引入了asp,可以很容易的张贴动态内容和开发基于web的应用程序。对于诸如vbscriptt,jscriptt开发软件,或者由visual basic,java,visual c+开发系统,以及现有的cgi和wincgi脚本开发的应用程序,iis都提供强大的本地支持。2.3.2 sql server2000数据库sql server 2000 是一个具备完全 web 支持的数据库产品,提供了对可扩展标记语言 (xml) 的核心支持以及在 internet 上和防火墙外进行查询的能力。1) 完全的 web 支持sql server 20

23、00 提供了以 web 标准为基础的扩展数据库编程功能。丰富的 xml 和 internet 标准支持允许您使用内置的存储过程以 xml 格式轻松存储和检索数据。您还可以使用 xml 更新程序容易地插入、更新和删除数据。(1) 通过 web 轻松访问数据。有了 sql server 2000,您可以使用 http 来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过 web 进行自然语言查询。 (2) 强大而灵活的基于 web 的分析。sql server 2000 分析服务功能被扩展到了 internet。您可以通过 web 浏览器来访问和控制多维数据。2) 高度的可伸缩性和可靠性

24、 使用 sql server 2000 可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,sql server 满足了苛刻的电子商务和企业应用程序要求。(1) 向上伸缩。sql server 2000 利用了对称多处理器 (smp) 系统。sql server enterprise edition 最多可以使用 32 个处理器和 64 gb ram。 (2) 向外扩展。向外扩展可以将数据库和数据负载分配给多台服务器。 (3) 可用性。通过增强的故障转移群集、日志传送和新增的备份策略,sql server 2000 达到了最大的可用性。2.3.3 access2003数据库asses

25、s能够存取 access/jet、microsoft sql server、oracle,或者任何 odbc 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。access数据库不但具有dbase、foxbase、foxpro等数据库的优点,而且还具有其自身特点,它是对传统数据库的发展,提供了真正的关系数据库管理。access是一个功能强大、方便灵活、适用于个人单机环境下使用的关系型数据库管理系统,它同时提供了一个完整的数据库应用开发工具,可用于开发适合于特定的数据库管理的windows应用程序。1)

26、access的对象access 2000支持的对象包括表、查询、报表、窗体、宏、模块及网页。access所提供的这些对象都存放在同一个数据库文件(.mdb文件)中,而不像其他数据库那样分别存放于不同的文件中。这样就方便了数据库文件的管理。在access 2000的各个对象中,表是数据库的核心基础,它存放着数据库中的全部数据信息。报表、查询和窗体都是从数据表中获得数据信息,以实现用户的某一特定需要,例如查找、计算统计、打印、编辑修改等。窗体可以为用户提供良好的操作界面,通过窗体,用户可以直接或间接地调用宏或模块,并执行查询、打印、预览、计算多呢个功能,甚至对数据表进行编辑修改。2) access

27、的主要功能(1)定义数据创建表,利用表储存相应的信息。(2)根据需要定义各表之间的关系,从而将各个表中的相关的数据有机的结合在一起(3)方式多样的数据处理能力。可以创建查询来检索数据;可以创建联机窗体来直接查看、输入及更改表中的数据;可以创建报表来分析数据或将数据以特定的方式打印出来(4)创建web页,建立对internet和intranet的支持(5)开发应用程序。可以利用宏或visual basic将各种数据库对象连接在一起,形成一个数据库应用系统,而且用户也不需要编写复杂的代码。与其他数据库不同的是,access在实现上述功能的同时提供了各种向导,用户在操作时只需按照向导提供的步骤执行就

28、可以了,使用起来非常方便。2.3.4 dreamweaver8工作平台dreamweaver是在网页设计与制作领域中用户最多、应用最广、功能最强大的软件,随着dreamweaver 8的发布,更坚定dreamweaver在该领域的地位。它集网页设计、网站开发和站点管理功能于一身,具有可视化、支持多平台和跨浏览器的特性,是目前网站设计、开发、制作的首选工具。1) 灵活的编写方式dreamweaver具有灵活编写网页的特点,不但将世界一流水平的“设计”和“代码”编辑器合二为一,而且在设计窗口中还精化了源代码,能帮助用户按工作需要定制自己的用户界面。2) 可视化编辑界面dreamweaver是一种所

29、见即所得的html编辑器,可实现页面元素的插入和生成。或视化编辑环境大量减少了代码的编写,同时亦保证了其专业性和兼容性,并且可以对内部的html编辑器和任何第三方的html编辑器进行实时的访问。无论用户习惯手工输入html源代码还是使用可视化的编辑界面,dreamweaver都能提供便捷的方式使用户设计网页和管理网站变得更容易。3) 功能更多的css支持css可视化设计、css检查工具4) 动态跨浏览器验证当保存时系统自动检查当前文档的跨浏览器有效性,可以指定何种浏览器为测试用浏览器,同时系统自动检验以确定页面有没有目标浏览器不支持的tags或css结构。动态跨浏览器有效性检查功能可以自动核对

30、tags和css规则是否适应目前的主浏览器。5) 强大的web站点管理功能6) 内建的图形编辑引擎7) dreamweaver的集成特性dreamweaver 8继承了fireworks、flash和shockwave的集成特性,可以在这些web创作工具之间自由地切换,轻松地创建美观实用的网页。8) 丰富的媒体支持能力可以方便地加入java、flash、shockwave、activex以及其他媒体。dreamweaver具有强大的多媒体处理功能,在设计dhtml和css方面表现得极为出色,它利用javascript和dhtml语言代码轻松地实现网页元素的动作和交互操作。dreamweaver

31、还提供行为和时间线两种控件来产生交互式响应和进行动画处理。9) 超强的扩展能力dreamweaver还支持第三方插件,任何人都可以根据自己的需要扩展dreamweaver的功能,并且可以发布这些插件。3 系统分析3.1系统功能描述本系统主要是网络存储设置一个文件服务器,使得远程用户可通过web访问,实现文件上传和下载基本功能。并提供一些额外的辅助功能。具体而言,其实现的功能和技术包括以下几个方面:1)提供用户注册2)授权用户可在远端建立文件夹上传文件,已经下载文件;管理员用户具有最高权限可进行文件管理:审批、删除。3)能识别和限制上传文件的大小和文件类型。4)自动分配上传空间。5)连接管理,限

32、制最大连接数。6)对用户访问计时,当连接用户长时间不活动时自动断开连接,以避免内存长期占用。7) 实时一键文件分享,积分管理,星级评级。3.2 系统功能结构图系统的功能结构,如图3-1所示。图3-1 系统功能结构图3.3 系统流程图为了在大体上说明系统的整个流程。绘制了这个系统流程图,以便对系统有个整体的了解。系统流程如图3-2所示。图3-2系统流程图3.4 系统e-r图系统的e-r图,如图3-3 至3-6 所示。1) 会员注册信息(number1表) e-r图,如图3-3所示。图3-3会员注册信息e-r图2) 文件信息(file表)e-r图,如图3-4所示。图3-4文件信息e-r图3) 评论

33、信息(file表)e-r图,如图3-5所示。图3-5评论信息e-r图4) 系统的各实体之间的关系图,如图3-6所示。图3-6实体之间的关系图4 系统设计4.1 系统的体系结构本系统基于asp技术,采用三层结构进行设计。三层结构包括表示层、中间层、数据库层。即将应用划分为三层: 用户界面层,商业逻辑层,数据库层。如图4-1所示。图4-1三层体系结构图用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(vb,vc,asp等)开发。商业逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成sq

34、l语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(registry)中,它与客户端通讯的接口符合某一特定的组件标准(如com,corba),可以用任何支持这种标准的工具开发。数据库层负责实际的数据存储和检索。 有了这样的结构,上面的问题迎刃而解:还是以考试系统中的合格标准为例,在客户端所有需要显示合格人员名单的地方,调用这样一个函数getqualifiedlist,至于这个函数如何编写,如何与数据库打交道,以至访问的是何种数据库都与其无关(你一定有过这样的经历,在一种数据库系统上运行得很好的sql语句,有时换到另一种数据库系统上必须加以修改)

35、; 在中间层dll中实现这个getqualifiedlist函数,如果用户对合格的定义变了,只需要修改这个函数就可以了,只要此函数的入口参数和返回内容不变,在客户端不需作任何改动。在这里,我们看到了面向对象编程的特性之一封装性的优点,而这一点在开发大型应用时尤其有用-我们可以把开发人员分成两组,一组负责开发界面层,另一组负责开发商业逻辑层,双方只要按照事先商定的函数接口,并行地开发就可以,而不必向从前那样,后面的工作必须等前面的工作完成后才能开始。当然,这样的开发模式需要很好的项目协调和文档作支持。4.2 系统数据库设计根据以上的分析,可以基本确定本系统所用到的数据。根据系统的需求与操作流程,

36、可以进行数据库设计。以下是本系统数据库的主要数据表,其中有4个表。1) 会员基本信息表(number1表)。主要是用户的信息管理用表,具体设计如表4-1所示。表4-1会员基本信息表字段中文描述数据类型是否为空备注name用户名char否主键pwd密码char否callname昵称char否province省份char否city城市char否sex性别char否age年龄char否work工作char否email邮箱char否p账号状态boolean否time注册时间datetime否layer等级int否point积分int否2) 文件基本信息表(file表)。主要是用户上传文件的信息管理用表

37、,具体设计如表4-2所示。表4-2文件基本信息表字段中文描述数据类型是否为空备注id编号int否name会员名称char否外键path文件名char否size文件大小char否next子文件夹char是p状态boolean否shijian时间datetime否xiangxi详细介绍char是title标题char否dowm下载次数int否read浏览次数int否good好(评论)int是bad坏(评论)int是3) 文件评论基本信息表(lun表)。主要是用户上传文件分享后网友对其文件的基本的信息评论表,具体设计如表4-3所示。表4-3文件评论基本信息表字段中文描述数据类型是否为空备注id编号i

38、nt否lunname评论会员名称char否外键lunipip地址char否lundate时间datetime否luncon评论内容char否lunping冻结状态boolean4) 在线帮助信息表(help表)。主要是用于网友寻求网站管理员的帮助,给网友和管理员面对面的平台,具体设计如表4-4所示。表4-4在线帮助信息表字段中文描述数据类型是否为空备注id编号int否name名称char否外键email邮箱char否con内容char否title标题char否time时间datetime否4.3 功能模块设计与实现系统的功能模块分为:注册模块、登陆模块、文件管理模块、超级管理员模块、查询浏览模

39、块。以下为各个模块的具体设计与实现。4.3.1 用户注册模块设计与实现用户注册的界面,如图4-2所示。图4-2用户注册界面此处用于用户注册为web网盘的会员,其基本原理是用sql语句insert对数据库进行操作。set conn=server.createobject(adodb.connection)/数据源dbpath = server.mappath(/accessfile/qq.mdb)/把虚拟路径转换成绝对路径conn.open driver=microsoft access driver (*.mdb);dbq= & dbpath/打开数据库set rs=server.create

40、object(adodb.recordset)/建立数据集sql = number1/声明数据表rs.open sql,conn,3,2/对数据表操作rs.addnew/更新数据库表rs(name) = name1/插入会员数据rs.updaterecordset1.close()/关闭数据表连接set recordset1 = nothing在注册方面为实施了实时监控比如此会员已有,在输入框右边会出现提示,代码如下:下面的代码是ajax + javascript的技术pwd=document.form3.pwd.value/文本框pwd的值if(pwd1.indexof( )=-1)/判断p

41、wd1元素是否为空var dd2=+请不要输入空格号+if(pwd1!=pwd )/判断密码输入var dd2=+密码确认不对,确认输入密码+pp2.innerhtml=aa+dd2/在pp2元素上显示aa+dd2的结果else if(pwd1.length15)var dd2=+密码确认不对,确认密码不能超过15位+pp2.innerhtml=aa+dd2在安全方面用了正则表达式和输入长度限制,防止sql注入和溢出。代码如下:/ 文本框只能输入数字代码(小数点也不能输入)/ 只能输入英文字母和数字/只能输入中文的正则4.3.1 用户登陆模块设计与实现用户登录模块的界面,如图4-3所示。图4-

42、3用户登陆界面登录时需要验证用户名、密码和用户等级,密码不正确或账号不正确则无法登录。根据等级的不同所能操作的权限也有所不同,这里还提供了在线人数查看,用户身份验证和在线人数的主要代码如下:%pm1=0/初始化判断条件函数p=md5(trim(request.form(name)/获取用户输入的账号并md5加密p1=md5(trim(request.form(pwd)/获取用户输入的密码并md5加密if p and p1 then/判断限制输入不能为空,否则不能操作do while not recordset1.eof/调用数据库的值if (recordset1.fields.item(nam

43、e).value)=p then/判断账号是否和数据里的相同pm1 =1/创建账号状态条件,是否被管理员封号end if/在账号已数据库的账号相同的时候进行这项操作,判断密码是否相同if (recordset1.fields.item(pwd).value)p1 and pm1 = 1 thenend if/账号密码和数据相同的时候用于判断用户的等级if (recordset1.fields.item(pwd).value)=p1 and(recordset1.fields.item(name).value)=p thenend ifrecordset1.movenext/跳到下一条记录loo

44、p/循环end if/智能提示用户所操作的错误if request.form(name) and request.form(pwd) thenif pm1=0 thenresponse.write(alert(用户名和密码有误,请您确认再输入!)end ifend ifif pm1=1 then/错误提示,弹出窗口response.write(alert(用户名有误,请您确认用户名!)elseif pm1=3 then/判断条件为真/创建一个session值,这个值等于request.form(name)session(username)=request.form(name)response.

45、redirect(./welcome/zhuan1.asp)/登陆成功后跳转页面end if%在线人数代码:global.asa文件(放在被调试的虚拟目录的根目录下面)sub application_onstart/初始值为0application(online) = 0 end sub /当任何客户首次访问该应用程序的首页时运行,一个用户访问进行记数加1sub session_onstart application.lock application(online) = application(online) + 1 /总人数加1application.unlock end sub /一个用户

46、进程的结束,记数减1 (p.s.如果没有该事件程序,则执行的就是页面访问程序了。)sub session_onend application.lock application(online) = application(online) - 1 /总人数减1application.unlock end sub 在线人数代码:online.asp文件(用于显示global.asa文件统计的信息)当前共有在线/显示在线人数application(online)的值退出/退出设置在安全方面,对输入框用了正则表达式和长度限制,防止sql注入等等。4.3.2文件管理模块文件管理模块主要由普通会员进行操作。

47、其管理权限为上传文件、新建文件夹、下载文件、删除文件、移动文件和分享文件。用户上传文件后只能对自己的文件进行操作,如修改文件名、删除或者对其文件进行分享,共享个其他用户,在共享的时候可以修改文件共享属性。为了让界面更好看更舒适,在程序中应用了大量的css,还添加了修改皮肤的功能,让用户选择适合自己颜色的皮肤。程序用还加了锁屏功能,让用户锁住当前操作,防止由于不小心而造成错误的操作。同时程序还提供了反馈、帮助等功能,反馈是用于让用户对我们提出宝贵的意见,而帮助是用户对程序进行操作时程序出现错误时能让管理员和用户快速联系的平台,让管理员已最快的速度解决用户所遇到的问题。与此同时,还提供了时时用户所

48、用磁盘大小和用户所剩余磁盘大小,让用户根据自己的磁盘空间进行正确的操作,默认情况下用户可使用磁盘为100m,而用户一次上传文件的大小为10m。并且我们把用户自己的所有文件进行了按时间显示,并且把文件的大小、文件类型、上传时间以其相对应,为了更方便操作,当用户把鼠标放到相应的文件的名称时会出现相应的操作功能,还有一个状态显示,这是让用户观看这个文件此时的状态,它有两个状态,如果为绿色则此文件为绿色通行,如果为红色则为超级管理员已经冻结了次文件。1) 上传文件功能如图4-4,一直以来,由于filesystemobject的局限,所以asp最大的难题就是文件上传,大多解决法就是安装第三方上传组件。可

49、第三方组件有很多问题,有的组件要注册,有的组件要在表单中加上他的版权信息。还有的就是组件的兼容问题。在网上也流传了很多无组件上传的代码,但都是只能上传文本文件,或是只能将文件上传到数据库中。下面是我对上传文件到指定到文件夹同时保存文件名到数据库的代码:图4-4上传文件界面2) 新建文件夹功能如图4-5,使用createfolder方法可以在指定位置创建一个文件夹,在创建文件夹的过程中,如果指定的文件夹已经存在,则会出错。代码如下:图4-5新建文件夹界面3) 删除文件功能,当用户不需要某个或者某些文件时,再或者空间不足时,使用deletefile方法删除文件,代码如下:(下面代码是删除指定文件,

50、并且删除数据库中此文件相关的信息)%dim fso,delfile,path,path1delfile=request.querystring(delfile)/获取要删除文件名/把用户的文件和文件结合成路径path=.numberhuiyuan&session(username)&delfile path1=server.mappath(path)/把虚拟路径转换成绝对路径set fso=server.createobject(scripting.filesystemobject)/创建createobject方法set conn1=server.createobject(adodb.connection)/创建createobject方法set rs=server.createobje

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论