《软件开发与设计》课程结业报告格式参照.doc_第1页
《软件开发与设计》课程结业报告格式参照.doc_第2页
《软件开发与设计》课程结业报告格式参照.doc_第3页
《软件开发与设计》课程结业报告格式参照.doc_第4页
《软件开发与设计》课程结业报告格式参照.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

审定成绩: 重庆邮电大学软件开发与设计课程结业报告课程结业选题:基于JAVA的网上文件管理系统学 院 名 称 :计算机科学与技术学院学 生 姓 名 :专 业 :计算机科学与技术班 级 :学 号 :指 导 教 师 :雷大江 填表时间:2012 年 6 月 摘 要随着Internet的快速发展,Internet中的数据管理也越来越复杂,文件也是Internet数据中的一种。网上文件管理系统是针对Internet时代的数据管理和数据共享需求而开发的。它可以管理存放在网络中任意点的各种文件,并对这些文件进行添加、修改和删除操作。特别是对大型公司而言,使用网上文件管理系统还可以解决访问者通过局域网访问时存在的查询搜索不便等问题。在网上文件管理系统中,客户可以很方便的对数据进行浏览,且操作简单,适合Intranet中各种不同类型、不同程度用户的使用。本论文所实现的网上文件管理系统是网络资源的一种共享机制。用Eclipse作为开发工具,Tomcat作为WEB服务器,使用实现MVC模式的STRUTS框架及MYSQL实现后台数据库的管理来设计完成。系统采用对用户分级管理的方式,为不同级别的用户提供不同的资源服务。一般来说,网上文件管理系统包含两大服务类,一类是用户管理,一类是资源共享。其中资源共享有分为对资源的上传、下载及删除。在网上文件管理系统中,最重要的是权限管理,因为网上文件管理系统的大部分操作都需要权限验证,如何简洁、有效果的进行权限验证,是本系统设计时的一个重要考虑。【关键词】文件管理 用户管理 上传 下载目 录前 言1第一章 网上文件管理系统概述2第一节 系统需求分析2第二节 系统功能2第三节 系统的特点3第四节 系统设计方案及运行架构3第五节 本章小结4第二章 系统概要设计5第一节 系统设计思想5第二节 数据流图5第三节 系统用例图6第四节 系统功能模块划分6一、普通用户功能模块6二、管理员界面的系统模块7第五节 本章小结8第三章 数据库设计9第一节 数据模型设计9第二节 数据库逻辑结构设计9一、用户信息表10二、文件信息表10第三节 本章小结13第一节 系统用户界面设计14一、用户登录14二、用户功能界面15三、新建用户功能16四、编辑管理用户功能17五、文件的上传、下载及删除功能20六、注销登录功能21第二节 系统功能模块详细设计22一、用户登录功能22二、浏览所有用户功能25三、新建用户功能25四、编辑用户功能28五、删除用户功能30六、浏览用户目录功能31七、上传文件功能32八、下载文件功能34九、删除文件功能34十、用户注销登录功能35第三节 本章小结36第五章 系统特点及关键技术37第一节 struts-config.xml部署描述符37第二节 使用模块化设计37第三节 使用数据库连接池37第四节 本章小结38结 论39参考文献40前 言随着信息时代的到来,计算机及网络技术的飞速发展,每个企业得到了前所未有的发展机遇,但同时也必须面对市场经济的严重挑战。企业要求生存、谋发展,就必须进行科学的管理,其中很重要的一方面就是企业的文件管理。但目前的管理手段和管理方式相对落后,不仅浪费了许多人力和物力,同时也不利于资源共享,已经不能适应新形式下的文件管理工作。为了减轻管理员工作,提高网络文件管理的高效性,建立一套有效的网上文件管理系统是十分必要的。此设计是针对Internet时代的数据管理及共享需求而开发的网上文件管理系统。它可实现用户管理和资源共享两大类服务,在本系统中,用户主要分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类。私有目录不允许除管理员与拥有者外的其他用户进入其中访问,而公有目录则没有这个限制。在公有目录级别下又设置上传、下载、删除级别,只有在相应级别下,方可在公有目录下对文件进行上传、下载、及删除操作。本文以一个网上文件管理系统的实现为目标,主要做了以下工作:第一章主要介绍了网上文件管理系统的需求分析;系统的功能及特点;以及系统设计的方案及运行架构。第二章概述了系统的概要设计、数据流图、系统用例图以及系统功能模块的划分。第三章和第四章侧重介绍了整个系统的数据库设计和功能设计。第五章和结论主要对本文内容进行简要概括,并对后续工作做一些展望。第一章 网上文件管理系统概述网上文件管理系统主要用于提供资源共享。由于每位用户希望为其他用户提供的共享服务等级不尽相同,因此要为每个用户设置不同的等级,为每个用户的目录设置不同的访问等级是非常必要的。在本系统中,用户主要分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类。私有目录不允许除管理员与拥有者外的其他用户进入其中访问,而公有目录则没有这个限制。在公有目录级别下又设置上传、下载、删除级别,只有在相应级别下,方可在公有目录下对文件进行上传、下载、及删除操作。第一节 系统需求分析网上文件管理系统需要进行严格的用户认证才可使用。管理员拥有最高权限,在用户管理方面,可以增加、删除用户,并对用户信息进行修改。在文件管理方面,可以删除任何目录中的文件,除此之外,管理员在公有目录中,可以根据目录的共享级别上传或者下载文件,在私有目录中,则只能浏览用户的文件列表。普通用户可以全权管理自己目录的文件,即进行上传、下载及删除的操作。可以浏览公有目录,根据公有目录的共享级别上传、下载或者上传文件。当普通用户目录设置为公有时,可以对其他用户进行上传、下载、删除操作的限制。普通用户不能进入不属于自己的私有目录。第二节 系统功能网上文件管理系统将用户划分为管理员和用户两类,用户目录的开发级别主要分为公有和私有两大类,他们的权限不同,能够使用的功能也就不同。网上文件管理系统主要完成的功能有:用户登录功能;浏览所有用户功能;新建用户功能;编辑用户功能;删除用户功能;浏览用户目录功能;上传文件功能;下载文件功能;删除文件功能;用户注销登录功能。第三节 系统的特点本系统具有以下特点:基于B/S(Browser/Server)结构即浏览器和服务器结构。使用ECLIPSE作为开发工具,TOMCAT作为WEB服务器,由于使用了实现MVC模式的STRUTS框架,使得软件的视图组件(JSP页面)与控制器组件(用于处理业务逻辑) 得到了很好的分离。更利于软件的开发,维护与修改,同时提高了软件的安全性。同时在界面设计上都使用了模块化处理的思想,把很多页面的共有部分集成一个模块,例如页面的头部和尾部,这样在开发时遇到这些相似的的页面部分,就不需要重新编写,而只要重用这部分代码即可。第四节 系统设计方案及运行架构由于网上文件管理系统是用于方便用户在网上对文件进行管理,是面向internet的WEB应用,需要使用B/S(浏览器/服务器)架构。B/S架构的用户使用的是人们上网冲浪时必不可少的浏览器。这种方式简单易学,培训成本低,因此B/S架构得到迅速拓展。根据以上的分析,确定系统的运行服务器为开源组织Apache的开源服务器tomcat,使用基于开源框架struts技术完成动态交互功能,后台的数据库则使用MYSQL,系统架构图如图1.1所示。图1.1 系统的架构图第五节 本章小结本章介绍了网上文件管理系统的需求分析、系统的功能及特点、以及系统设计的方案及运行架构,为系统的设计和实现打下了基础。第二章 系统概要设计第一节 系统设计思想本系统使用实现了MVC(视图-模型-控制器)模式的STRUTS框架来进行整个系统的架构。系统按照功能划分成许多小的模块,每个模块独立存在,模块与模块之间是一种松散耦合关系,非常有利于系统的维护与扩充。同时每个模块又按照MVC模式划分为视图、模型、控制器3个组件,其中视图组件为JSP页面文件,是用户与系统的交互界面;模型组件是一个用于在视图组件和控制器组件之间传递表单数据的java类;控制器组件是一个用于处理业务逻辑,控制全局页面跳转等业务的java类。网上文件管理系统的作用在于提供给用户方便安全的管理文件,这种管理文件的方式即是上传文件和下载文件。因此,对于文件的管理是网上文件管理系统的一个核心功能。管理文件的权利只能给予特定的人和文件所有人,否则容易失去秩序,基于同样的考虑,删除修改文章的权利也只能提供给特定人群(即管理员)和文件所有人。因此,用户的划分应该成为网上文件管理系统的一个核心思想,系统将用户划分为用户、管理员两类,他们的权限不同,各司其职,其中,管理员拥有最高的权利,可以对用户、文件两个对象进行增加、删除及修改的操作。第二节 数据流图数据流图,即DFD图(Data Flow Diagram),是用于分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。网上文件管理系统的第一层数据流图如图2.1所示,描述系统由哪几部分组成,各部分之间有什么联系。图2.1 网上文件管理系统的第一层数据流图第三节 系统用例图用例图用来确定需求的范围,这些需求是设计开发的依据。用例图将系统看作墨盒,从外部执行者的角度来理解系统。图中的用例是用户与计算机之间的一次典型交互作用,在UML中,用例表示为一个椭圆。执行者是指用户在系统中所扮演的角色。其图形化的表示是一个小人。这里需要注意的是,执行者在用例图中是用类似人的图形来表示的,但执行者未必是人。例如,执行者可以是一个外界系统,该外界系统可能需要从当前系统中获取信息,与当前系统进行交互。网上文件管理系统的用例图如图2.2所示:图2.2 网上文件管理系统的用例图第四节 系统功能模块划分根据上面的系统功能分析,可以画出系统的功能模块图,本系统从普通用户界面,管理员界面对功能模块加以描述。一、普通用户功能模块普通用户可以全权管理自己目录的文件,即进行上传、下载及删除的操作。可以浏览公有目录,根据公有目录的共享级别上传、下载或者上传文件。当普通用户目录设置为公有时,可以对其他用户进行上传、下载、删除操作的限制。普通用户不能进入不属于自己的私有目录,普通用户的功能模块如图2.3所示:图2.3 普通用户功能模块图二、管理员界面的系统模块管理员拥有最高权限,在用户管理方面,可以增加、删除用户,并对用户信息进行修改。在文件管理方面,可以删除任何目录中的文件,除此之外,管理员在公有目录中,可以根据目录的共享级别上传、下载文件,在私有目录中,则只能浏览用户的文件列表,管理员的功能模块如图2.4所示:图2.4 管理员功能模块图第五节 本章小结本章讲述了网上文件管理系统的概要设计、数据流图、系统用例图以及系统功能模块的划分。第三章 数据库设计第一节 数据模型设计根据前面的需求描述,本系统中所涉及的可以抽象出来的数据模型有:用户(User)、用户文件(UserFile),这些数据模型在系统中相互联系。用户(User):代表用户实体。主要属性有用户ID(id)、用户名(username)、密码(password)、磁盘大小(diskquota)、允许上传(canupload)、是否公有(ifpublic)、用户等级(grade)、允许下载(candownload) 、允许删除(candelete)。用户文件(UserFile):代表用户文件实体。主要属性有文件编号(fileId,自动增长)、文件类型(fileType)、拥有者(owner)、文件名(filename)、文件大小(filesize)、上传时间(uploadtime)、位置(location)。为了描述各个数据模型,可以使用实体关系图(Entity Relationship Diagram,ERD)。用ERD描述数据模型能够预先精确定义数据需求,从而能够对以后的改动做出有效的规划。本系统的ERD如图3.1所示:图3.1 网上文件管理系统的ERD第二节 数据库逻辑结构设计对应于数据模型,设计出的数据库一共分为两张表,即用户表(user)和文件表(file)。数据库的名称为filemanager,建立数据库的SQL语句如下。Create database if not exists filemanager;表的具体结构如下。一、用户信息表用户表(user)有如下字段:用户ID(id)、用户名(username)、密码(password)、磁盘空间大小(diskquota)、是否公开(ifpublic)、允许上传(canupload)、允许下载(candownload)、允许删除(candelete)和用户级别(grade)。其中id为主键,不允许重复,不允许为空。其定义如表3.1所示:表3.1 用户信息表字段名字段类型字段长度是否允许为空是否为主键描述idint4不允许是用户IDUsernamevarchar100不允许否用户名Passwordvarchar100不允许否密码diskquotafloat不允许否磁盘大小ifpublictinyint1不允许否是否公有canuploadtinyint1允许否允许上传candownloadtinyint1允许否允许下载candeletetinyint1允许否允许删除gradevarchar10允许否用户等级下面是建立用户信息表的SQL语句。CREATE TABLE user ( id int(4) NOT NULL auto_increment, /用户ID username varchar(100) NOT NULL, /用户名 password varchar(100) NOT NULL, /密码 diskquota float NOT NULL, /磁盘大小 ifpublic tinyint(1) NOT NULL, /是否公有 canupload tinyint(1) default 0, /允许上传 candownload tinyint(1) default 0, /允许下载 candelete tinyint(1) default 0, /允许删除 grade varchar(10) default user, /用户等级 PRIMARY KEY (id) /设置id为主键)二、文件信息表文件信息表(file)拥有如下字段:ID、文件类型(fileType)、拥有者(owner)、文件名(filename)、文件大小(filesize)、上传时间(uploadtime)、位置(location)。其中fileId为主键,不允许重复,不允许为空。其定义如表3.2所示:表3.2 文件信息表字段名字段类型字段长度是否允许为空是否为主键描述ownerint4不允许否拥有者fileIdInteger10不允许是文件idfileTypevahchar100不允许否文件类型filenamevahchar300不允许否文件名filesizefloat不允许否文件大小uploadtimedate不允许否上传时间locationvarchar300不允许否位置下面是建立用户信息表的SQL语句。CREATE TABLE file ( owner int(4) NOT NULL, filename varchar(200) NOT NULL, filesize float NOT NULL, uploadtime date NOT NULL, location varchar(300) NOT NULL, fileId int(11) NOT NULL auto_increment COMMENT 上传文件的id, fileType varchar(45) NOT NULL default , PRIMARY KEY (fileId))创建好表之后的数据库如图3.2所示:图3.2 系统的数据库结构示意图第三节 本章小结本章设计了系统的整体架构,对于数据模型,设计出了数据库filemanager的两个表,用户表(user)和文件表(file)。FfFfff第四章 系统详细设计网上文件管理系统分为管理员和普通用户两大类。所有用户(管理员、用户),提供的功能包括登录系统、下载文件、上传文件、注销登录。管理人员(管理员),提供的功能包括管理用户、管理文件。系统入口:http:/localhost:8080/FileManager/第一节 系统用户界面设计一、用户登录用户在浏览器中输入http:/localhost:8080/FileManager/,即可进入用户登录页面。此页面是系统唯一的入口,管理员及用户都在此处进行身份验证,如图4.1所示:图4.1 用户登录界面如果用户没有通过身份验证,则请求将被转发到消息页面,页面会显示提示消息:“登录失败,用户名与密码不匹配”,如图4.2所示:图4.2 登录失败二、用户功能界面当用户通过了身份验证,则转到用户列表页面。页面上指明了当前登录的用户,例如deboer。页面显示出所有用户,并提供新建、编辑、删除用户的入口。当然,这些对用户的操作只能由管理员进行。所有用户都可以通过用户的链接进入该用户的目录(如果该用户被允许进入目录的话),如图4.3所示:图4.3 用户列表页面页面的右上角提供了“新建用户”的链接。此功能仅允许管理员使用,如果非管理员试图进行此操作,则会进入消息页面,显示提示消息:“很抱歉,您不是管理员,不能添加用户!”,如图4.4所示:图4.4 非管理员不能添加用户三、新建用户功能当管理员单击“新建用户”链接,则会转到新建用户页面,如图4.5所示,对用户的磁盘大小,目录开发限制及用户等级进行初始设置。图4.5 新建用户页面设置完成之后,页面将跳转回用户列表页面,如图4.6所示,列表中已经新增了用户hudebo。图4.6 新增用户hudebo四、编辑管理用户功能页面中每个用户行都提供了“编辑”链接,提供修改用户的入口。此功能仅允许管理员使用,如果是非管理员不能修改用户,如图4.7所示:图4.7 非管理员不能修改用户当管理员使用某行用户的“编辑”链接,则会跳转到修改用户页面。对用户的磁盘大小,目录开放限制及用户等级重新设置。页面显示出这些原来的内容。以用yu为例,如图4.8所示:图4.8 修改用户yu经过设置,yu用户的目录现在对所有用户开放,如图4.9所示,yu用户的目录已经允许察看。图4.9 用户yu目录由私有变为公有页面每个用户列表都提供了“删除”链接,提供删除用户的入口。此功能仅允许管理员使用,如果是非管理员则不能删除用户,如图4.10所示:图4.10 非管理员不能删除用户当管理员对某行用户使用“删除”链接,则会从数据库中删除该用户,从文件中删除用户拥有的目录,然后转到用户列表页面。以hudebo为例,将其删除之后,列表中已经不存在hudebo用户,如图4.11所示:图4.11 删除了用户hudebo用户列表提供了用户名的链接,以提供进入该用户目录的入口,但此入口仅当用户为管理员,或者目录为公有目录是才允许非拥有者进入。当然,用户可以自由进出自己的目录。如果用户不满足进入目录的条件,则转入消息页面,出现提示消息:“很抱歉,您未被赋予查看此目录的权限!原因可能为:您不是管理员或者拥有者,或者此目录未对公众开放”,如图4.12所示:图4.12 不能进入目录的情况当用户符合进入某个目录的条件时,则跳转到文件列表页面。如图4.13所示,此时用户yu进入的是deboer的目录。图4.13 文件列表页面五、文件的上传、下载及删除功能用户可以在自己目录中自由地进行上传、下载及删除文件的操作。如图4.13所示,当用户yu上传了文件login.jsp后,列表中更新了文件信息,可以看出文件名、文件大小、上传时间等。图4.13 上传了文件login.jsp当管理员使用某行文件的“删除”链接,则会从数据库中删除该文件的信息,从文件系统中删除该文件,然后转到文件列表页面。在目录中,只有符合许可条件时才能对文件进行上传、下载及删除操作。这些许可条件如下。删除:拥有者及管理员且要拥有者开放权限;上传:拥有者及管理员且要拥有者开放权限;下载:拥有者及管理员且要拥有者开放权限。当用户hudebo进入用户yu的目录试图上传文件时,系统检查到hudebo不是管理员或yu目录并未开放上传权限,于是将请求转发到消息页面。当用户符合“下载”操作的条件,则会跳出文件下载的窗口,以下载用户选定的文件,如图4.14所示:图4.14 下载文件六、注销登录功能当用户单击页面右上角的“注销登录”链接,则会注销此次登录,回到用户登录页面,如图4.15所示:图4.15 注销登录第二节 系统功能模块详细设计本节将按照每个功能的划分依次讲述系统的实现细节,思路依照网上文件管理系统的操作流程,追踪各项操作的内部运行机制及运行效果,按照各个功能点来详细阐述系统的编码实现过程。对于每个功能点的阐述将按照Struts框架来进行,即讲述每个功能的MVC架构的各个组件(模型、视图、控制器),以及它们是如何有机组合,协调工作的。一、用户登录功能1、实现用户登录功能的组件用户登录功能是通过视图组件login.jsp;模型组件LoginForm.java;控制器组件LoginAction.java共同实现的。在struts配置文件中,这几个组件被有机的组织起来,以协同工作,共同完成用户登录功能。下面是配置文件中组织这几个组件的相关代码:在视图组件login.jsp中,提交表单将发出login. do请求,从配置文件struts-config.xml可以看到:login. do请求将访问控制器组件fm.action.LoginAction。而模型组件fm.form.LoginForm将获取的数据传递给这个控制器组件进行处理,此部分的逻辑关系如图4.16所示:图4.16 登录功能各组件间的关系2、视图组件Login.jsp的主要功能是提供用户登录时填写身份信息的表单。当用户填写完信息后,单击“登录”按钮将提交login. do请求,该请求将传递给控制器组件LoginAction.java。表单中包含了“用户名”及“密码”文本框控件获得数据,其property属性值依次为username、password。要注意此处的property属性值必须与模型组件LoginForm类对象中的属性名严格一一对应,否则将会出错。3、模型组件LoginForm.java的作用是获取来自视图组件login.jsp中的数据,并将其传递给控制器组件进行处理。LoginForm类的属性有:username、password。它与视图组件login.jsp的表单中所包含控件的property属性值需要严格对应。LoginForm类需要提供与上述属性相对应的get/set方法。4、控制器组件Login. do请求将访问控制器组件LoginAction类。该类的作用是获取模型组件LoginForm类传递过来的数据,并经过查询数据库进行身份验证,操作完之后,将请求、转发到配置文件定义好的页面中去。5、本部分程序中用到的辅助类方法(1)User.checkUser方法用于检验用户身份的合法性,即用户密码是否与数据库中的信息一致:public static boolean checkUser(DB db, String username, String password)throws Exception String strSql;ResultSet rs;strSql = select * from user where username= + username+ and password= + password + ;rs = db.OpenSql(strSql);if (rs.next() return true; else return false;(2)User.search方法查询得到登录用户的信息:public static User search(DB db, String username, String password)throws Exception User user = new User();ResultSet rs;String strSql = null;strSql = select * from user where username= + username+ and password= + password + ;rs = db.OpenSql(strSql);if (rs.next() user.setId(Integer.parseInt(rs.getString(id);user.setUsername(rs.getString(username);user.setPassword(rs.getString(password);user.setDiskquota(Float.parseFloat(rs.getString(diskquota);user.setIfpublic(Integer.parseInt(rs.getString(ifpublic);user.setCanupload(Integer.parseInt(rs.getString(canupload);user.setCandownload(Integer.parseInt(rs.getString(candownload);user.setCandelete(Integer.parseInt(rs.getString(candelete);user.setGrade(rs.getString(grade);return user;(3)User.searchUsers方法查询得到所有用户的信息:public static Vector searchUsers(DB db) throws Exception Vector userVector = new Vector();ResultSet rs;String strSql = null;strSql = select * from user;rs = db.OpenSql(strSql);while (rs.next() User user = new User();user.setId(Integer.parseInt(rs.getString(id);user.setUsername(rs.getString(username);user.setPassword(rs.getString(password);user.setDiskquota(Float.parseFloat(rs.getString(diskquota);user.setIfpublic(Integer.parseInt(rs.getString(ifpublic);user.setCanupload(Integer.parseInt(rs.getString(canupload); user.setCandownload(Integer.parseInt(rs.getString(candownload);user.setCandelete(Integer.parseInt(rs.getString(candelete);user.setGrade(rs.getString(grade);userVector.add(user);return userVector;6、本部分程序中用到的指代词以下是程序中出现的一些指代词。他们用在配置文件、常量文件以及消息资源文件中。(1)配置文件struts-config.xml(2)常量文件Constants.javapublic static final String LOGIN_USER_KEY = loginuser;public static final String USER_LIST_KEY = users;public static final String DATASOURCE_KEY = fmDB;(3)消息资源文件ApplicationResources_pertieserror.login.failed=登录失败:用户名与密码不匹配!二、浏览所有用户功能用户通过登录验证后,请求被转发给ToUserList代表的页面,即userlist.jsp页面。此页面提供了一个显示所有用户的表格,其中包含了多个操作的入口。单击“新建用户”连接,将发成checkpower.do?functiontype=newuser请求。单击“注销登录”链接,将发出logoff.do请求。单击某行用户的“用户名”链接,将发出checkpower.do?functiontype=managerfiles请求。单击某行用户的“编辑”链接,将发出checkpower.do?functiontype=modifyuser请求。单击某行用户的“删除”链接,将发出checkpower.do?functiontype=deleteuser请求。三、新建用户功能在用户列表页面中单击页面右上方的“新建用户”链接,将发出newuser.do的请求。该请求经过两次控制器处理,最终完成新建用户的功能。1、实现用户登录功能的组件新建用户的过程中,用户请求被两次转交给控制器处理,最后完成新建用户的功能。由于新建用户的功能只能给管理员使用,因此在完成这一功能时要经过两个步骤,第一步是权限验证,第二步是填写和提交内容。这两步需要两个控制器来完成。新建用户功能是通过视图组件newuser.jsp及messagepage.jsp;模型组件NewUserForm.java;控制器组件CheckpowerAction.java及NewUserAction.java共同完成的。在struts配置文件中,这几个组件被有机的组织起来,以协同工作,共同完成新建用户的功能。下面是配置文件中组织这几个组件的相关代码: 此部分的逻辑如图4.17所示:图4.17 newuser.do请求2、视图组件新建用户的请求在通过权限的验证后,将根据配置文件被转发到ToNewUser代表的路径,即进入新建用户页面newuser.jsp。此页面在表单中包含一个用于填写新用户信息的表格,当输入信息完成后,提交表单将发出newuser.do请求。3、模型组件NewUserForm.java的作用是获取来自视图组件newuser.jsp中的数据,并将其传递给控制器组件进行处理。NewUserForm类的属性需要与页面表单中所包含组件的name属性值严格对应。NewUserForm类需要提供与上述属性相对应的get/set方法。4、控制器组件CheckPowerAction类的作用是检查权限,以验证当前登陆用户是否可以进行某项操作。newuser.do请求将访问控制器组件NewUserAction类。该类的作用是获取模型组件NewUserForm类传递过来的数据,并将其插入到数据库中,操作完成之后,将请求转发到配置文件定义好的页面中去。5、本部分程序中用到的辅助类方法User.insert方法用于将心用户信息插入到数据库中。public boolean insert(DB db) throws Exception String strSql = null;strSql = insert into user(username, password, diskquota, ifpublic, canupload, candownload, candelete, grade)values (+ username+ ,+ password+ ,+ diskquota+ ,+ ifpublic+ ,+ canupload+ ,+ candownload+ ,+ candelete + , + grade + );if (db.ExecSql(strSql) = 0) return false; else return true;6、本部分程序中用到的指代词以下是程序中出现的一些指代词。他们用在配置文件、常量文件以及消息资源文件中。(1)配置文件struts-config.xml (2)常量文件Constants.javapublic static final String LOGIN_USER_KEY = loginuser;public static final String DATASOURCE_KEY = fmDB;(3)消息资源文件ApplicationResources_perties error.power.newuser.notadmin=很抱歉,您不是管理员,不能添加用户!四、编辑用户功能当单击用户列表页面某位用户的“编辑”链接时,将发出checkpower.do的请求,以验证当前登陆用户有没有进行相应操作的权限。只有在验证通过后,才能进行编辑用户的操作。该请求经过两次控制器处理,最终完成编辑用户功能。1、实现编辑用户功能的各个组件编辑用户功能通过视图组件modifyuser.jsp;模型组件ModifyUserForm.java;控制器组件CheckPowerAction.java及ModifyUserAction.java共同实现的。在Struts配置文件中,这几个组件被有机的组织起来,以协同工作,共同完成编辑用户的功能。下面是配置文件中组织这几个组件的相关代码:Checkpower.do的请求经控制器组件fm.action.CheckPowerAction处理后,将转发到视图组件modifyuser.jsp中,提交此页面的表单将发出modifyuser.do请求。可以从配置文件struts-config.xml中看到:modifyUser.do请求将访问控制器组件fm.action.ModifyUserAction。而模型组件fm.form.ModifyUserForm 将获取的数据传递给这个控制器组件进行处理。此部分的逻辑关系图如图4.18所示。 图4.18 编辑用户功能的各组件关系2、视图组件编辑用户的请求在通过权限验证后,将根据配置文件被转发到ToModifyUser代表的路径,即进入编辑用户页面modifyuser.jsp。此页面在表单总包含一个用于填写待编辑的用户信息的表格,当输入信心完成后,提交表单将发出modifyuser.do请求。表单提供了各个用于输入信息的组件。它们的name值与模型组件类的属性名需要严格对应。3、模型组件ModifyUserForm.java的作用是获取视图组件modifyuser.jsp中的数据,并将其传递给控制器组件进行处理。ModifyUserForm类的属性需要与页面表单中的name属性值严格对应。ModifyUserForm

温馨提示

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

评论

0/150

提交评论