[JAVA论文]MVC模式的数字校园学生业务子系统.doc
-
资源ID:4871960
资源大小:624.56KB
全文页数:28页
- 资源格式: DOC
下载积分:10金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[JAVA论文]MVC模式的数字校园学生业务子系统.doc
河南大学2007届本科毕业论文基于MVC模式的数字校园学生业务子系统The Student Operation Subsystem of Digital School Based on MVC Pattern论文作者姓名:常卫萍 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:陈国强(讲师) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023178姓名常卫萍导师姓名职称陈国强(讲师)开题时间2006年12月1日课题题目基于MVC模式的数字校园学生业务子系统课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1.目的 开发出一套适合学校业务特点的学生管理信息系统,实现信息的共享与集成,能最大限度的保证信息的完整统一。2.意义 数字校园提升了传统校园的效率,扩展了传统校园的功能,最终实现教育过程的全面信息化。3.现状分析 我国高等学校大规模的信息化建设大多始于90年代,比西方发达国家起步晚了10-20年。在沿海地区和较发达的城市,高校信息化的建设近年来有了十分迅猛的发展,信息技术已广泛地应用于高校的教学、科研以及管理等各个领域,取得很好的效果。研究目标、研究内容和准备解决的问题:1.目标 在一期公共数据库平台的基础上,结合学生处的实际业务,开发出一套适合学校业务特点的本科生管理信息系统。2.内容 本系统针对学生管理具体流程进行设计,在原有业务基础上,同业务管理人员一起对当前业务进行整合,使学生管理更加系统化和规范化。3.准备解决的问题 设计和实现了系统的安全策略和系统的校验信息,编写了处理用户操作请求的后台服务器程序。拟采取的方法、技术或设计(开发)工具:本系统将采用B/S结构,应用Web应用框架Apache Struts框架设计。将使用Java语言在Struts框架基础上使用Jsp、JavaScript、SQL等方面的知识进行开发,使用Oracle数据库进行数据存储,完成一个基于Web访问的应用系统。预期成果:1、毕业设计成果源程序2、毕业论文进度计划:2006.12.1 - 2007.4.1:查找资料、搜集相关素材2007.4.2 -2007.4.12:完成详细设计部分的设计2007.4.13 - 2007.4.30:完成代码部分的设计2007.5.1 - 2007.5.20:整理资料、撰写毕业论文2007.5.20 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:同意开题 指导教师签名: 2006年12月1 日开题报告II河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023178姓名常卫萍导师姓名陈国强任务书起止日期2006年12月8日 至 2007年5月20日论文提要:论文将针对数字校园学生子系统,首先阐述课题存在的意义,分析数字校园现况,简介本项目将使用的开发工具;利用实例重点说明本系统是如何实现的。最后对此次毕业设计做出总结,积累经验和教训。课题任务要求:1应用系统后台架构:WEB服务器-应用服务器-数据库服务器。2同公共数据平台采用统一的身份认证。3个性化界面,用户可获得个性化服务。4高扩展性,可以集成目前的系统和未来的相同架构系统。5使用Java技术,安全可靠,并充分地保证系统的跨平台使用特性。6同业务相结合,符合现实的教、学、管模式,顺应使用者的习惯。主要参考文献:1 ArnoldDoray,铁手、程小冬、靖松译,Struts 基础教程,人民出版社,2007年2月2 孙卫琴,精通Struts:基于MVC模式地Java Web设计于开发M,北京电子工业出版社,2004年8月3 李晓黎、张晓辉,Visual Basic + Oracle 9i数据库应用系统开发与实例,人民邮电出版社,2003年6月4 Hamilton、Cattell、Fisher,JDBC Database Access with Java,Addison-Wesley,1997年河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称基于MVC模式的数字校园学生业务子系统学号03023178所学专业计算机科学与技术指导教师姓 名陈国强姓名常卫萍一、毕业设计进展情况通过第一阶段的充分准备,现已完成了可行性分析报告,软件需求说明书,项目开发计划。详细部分的设计也已进入尾声,即将进入编码阶段。与计划进度几乎同步,会严格按照计划进度进行,掌握好系统开发的进程。二、存在问题数据岛技术是我们新接触的一种技术,在页面的设计中将会用到此技术。它嵌在HTML里,功能是将数据库中的数据以列表的形式显示。遇到的问题是如何隐藏传递给服务器的流水号的文本框,使页面相对美观。三、下一阶段的研究方法或设计思路首先深入细致地分析数据岛技术方面的例子,参考相关资料,明白它的执行流程,争取尽快解决这一问题,顺利地按时完成下一阶段的工作。四、指导教师对学生设计(论文、创作)进展等方面的评语 到目前为止,已完成系统分析和设计工作,进度良好。 指导教师签字: 2007年4 月10 日 此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023178姓名常卫萍专业计算机科学与技术指导教师陈国强综合得分85论文题目基于MVC模式的数字校园学生业务子系统指导教师评语及得分指导教师评语论文设计合理,层次清晰,重点突出,达到本科学士论文水平。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分139984584指导教师签名 2007 年5 月20日评阅教师评语及评分评阅教师评语系统设计较为完善,各个模块也都实现了预期的功能。论文层次分明,结构合理,符合要求。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分148994686评阅教师签名 2007 年5 月21日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023178姓名常卫萍所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语 该生思路清晰,回答问题准确,达到本科毕业水平。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1220183585答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 85分综合评定等级:良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目基于MVC模式的数字校园学生业务子系统姓 名常卫萍所学专业计算机科学与技术学 号03023178完成时间2007年5 月20日指导教师姓名职称陈国强(讲师)承诺内容:1、本毕业论文(设计、创作)是学生 常卫萍 在导师 陈国强 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年5月20日 2007年5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1 课题提出的意义11.2 学校业务管理系统发展状况11.2.1 我国学校业务管理系统发展状况11.2.2 外国学校业务管理系统发展状况21.2.3 数字校园21.3 系统开发工具介绍31.3.1 Struts框架及工作流程31.3.2 MVC模式简介41.3.3 Eclipse开发环境简介51.3.4 ORACLE数据库体系结构5第2章 系统架构及结构流程72.1 基于B/S体系的系统架构72.1.1 B/S体系结构72.1.2 使用B/S结构的意义72.2 总体结构流程8第3章 系统整体结构的设计与实现103.1 数据库的实现103.2 控制器113.3 界面的实现113.4 业务层的实现133.5 功能的细化13结 论16参考文献17河南大学本科毕业生学士学位论文摘 要建设数字校园是高校教育信息化在数字时代的必然目标,它将对中国高校教育改革起到积极的推动作用。本文首先阐述了建设数字校园业务系统的意义,结合校园具体业务活动,论证了用Struts框架的MVC模式开发的可能性和必要性,详细分析了系统的整体方案设计及实现。课题的研究取得了以下几方面的成绩:(1)设计和实现了系统的安全策略。(2)设计和实现了应用系统的校验信息。(3)编写了处理用户操作请求的后台服务器程序。关键词 数字校园,Struts,MVC,浏览器/服务器ABSTRACTBuilding digital school is a necessary goal for educate informational in the digital age, which will promote the Chinese collage educate innovation actively.This paper firstly expounds the meaning of constructing the numerical school student operation system. Combining the concrete business in campus activity, argument the possibility and necessity that use the MVC pattern of Struts frame to develop analyze and realize the whole system's project design in detail.The results of the research as following:(1)Design and implementation the safe strategy of the system.(2)Design and implementation the verification of application.(3)Write the backstage server procedure to handle the users request.Keyword Digital school, Struts, MVC, Browser/Server第 17 页第1章 绪论随着大学校园信息化建设的不断深入,从技术到应用对大学校园网络上的应用系统提出了更高的要求。数字校园是以网络为基础,利用先进的信息化手段和工具,实现从环境到活动的全部数字化。在传统校园的基础上构建一个数字空间以拓展现实校园的时间和空间维度,从而提升了传统校园的效率,扩展了传统校园的功能,最终实现教育过程的全面信息化。1.1 课题提出的意义21世纪将是人类全面进入信息化社会的世纪,21世纪的教育必须适应信息化社会对教育的需求。为此,世界发达国家高度重视信息技术对教育的影响和作用,重新调整教育目标,制定教育改革方案,加快推进教育信息化建设。近年来我国也开始重视教育信息化,特别是在“面向21世纪教育振兴行动计划”中强调利用信息技术推进教育改革。要把我国校园建设成为安全,高效,协调组织机构,需要具有先进的管理机制提供强有力的支持。而学生处(学工部)以及团委是学校重要的职能部门,全面负责学生的管理。学校目前的学生管理系统已经不能满足当前的工作需要,因此,重新建立开发一套完善而且全面的学生管理系统十分必要。1.2 学校业务管理系统发展状况随着信息网络化的飞速发展,人类社会正在向信息化社会全面发展。不可避免的,信息化的进程对教育也产生了深刻的影响和作用。世界各发达国家和我国都高度重视教育信息化工作,尤其在我国,信息技术被认为是推动教育改革的重要手段。1.2.1 我国学校业务管理系统发展状况我国高等学校大规模的信息化建设大多始于90年代,比西方发达国家起步晚了1020年。在沿海地区和较发达的城市,高校信息化的建设近年来有了十分迅猛的发展,信息技术已广泛地应用于高校的教学、科研以及管理等各个领域,取得很好的效果。据清华大学计算机与信息管理中心提供的材料,清华大学目前每学期已有700多门课程采用网络辅助教学,校内有两万多学生通过网络学习课程。我国基于网络的远程教育也有很大的发展,据报道,1999年我国仅有4所大学开始远程教育试点,在读学生最初只有7000多名。目前已发展到67所大学,共有学生130多万名。1.2.2 外国学校业务管理系统发展状况事实上,高校信息化的发展与计算机科技的发展紧密相关,因此分析高校信息化的发展可以从计算机技术发展的不同阶段入手。由于计算机技术的发展通常分为主机(Mainframe)、个人计算机(PC)和计算机网络(Computer Network)三个时代,因此高校信息化的发展同样可以分为三个阶段。主机时代,从上个世纪6070年代起,计算机开始在高校的教学与科研活动中扮演角色。除科学计算以外,各种计算机辅助教育软件,即CAI(Computer Aided Instruction)软件的开发先后列入国外一些高校的研究计划中。到了90年代计算机网络,特别是因特网的出现,给高校的教育带来深刻的影响,高校信息化进入一个崭新的阶段。但我国与发达国家相比,应该说我们是相对落后的。仅以数字图书馆为例,美国一个校级的图书馆如加州数字图书馆(California Digital Library,CDL)就拥有3200万项数字学术资源。我国数字资源的建设还刚刚起步,中文网上资源还十分匮乏。这些现状同样会影响到高校的信息化建设。因此,建设数字校园是高校教育信息化在数字时代的必然目标,它将对中国高校教育改革起到积极的推动作用。1.2.3 数字校园数字校园建设是分阶段、分层次的,它经历的是由硬及软、由下而上、螺旋上升的建设过程。数字校园也是一个层次化的结构,其体系结构可以用一系列同心圆表示,内圆是核心,是基础,外圆是在内圆的基础上提供的更进一步的服务。按照功能划分,数字校园由内到外可以分为五层:网络基础、基本网络服务、应用支撑系统、信息服务系统、虚拟大学。网络基础:网络是数字校园最基础的设施,没有相应的网络基础设施,数字不能流动,就不可能形成数字空间;网络基本服务:网络基本服务是数字流动的软件基础,包括电子邮件、文件传输、信息发布、域名服务、身份认证、目录服务、安全服务、计费管理等;应用支撑系统:应用支撑系统是数字校园的核心支持系统,它直接管理各种信息资源,并根据相关的逻辑提供给用户使用,如办公自动化系统、数字图书馆、管理信息系统和网络教学系统等;信息服务系统:信息服务系统是校内用户的主要使用界面,它将条理化的数据按照用户的需求提供服务,如后勤服务、信息查询、决策支持系统等;虚拟大学:虚拟大学是校园数字化后功能的自然扩展,使大学的功能突破围墙的限制,成为一个可以覆盖网络可达范围的无疆域的大学。1.3 系统开发工具介绍任何软件的开发都需要开发工具。本系统的开发用到的几乎都是当前最为流行的开发工具,例如Struts、Eclipse等等。本节将简单介绍一下在本项目中所使用到的开发工具。1.3.1 Struts框架及工作流程Struts是一个开源软件,有助于开发者更加快速和容易地建立Web应用程序。使用Struts的应用开发使用了大量的其他基础技术。这些技术并不是专门针对Struts,而是所有Java web应用都可以使用的。开发者使用Struts之类的框架是为了隐藏在诸如HTTP,CGI,以及JSP之类技术后面的繁琐的细节。Struts使用Model2架构。Struts的ActionServlet控制导航流。其他Struts类,比如Action,用来访问业务逻辑类。当ActionServlet从前台接受到一个请求,它使用URL(或者路径“path”)来决定哪个Action将用来处理请求。ActionServlet通过查找请求的路径可以决定使用哪个ActionForm,Action也是通过同样的方法选取的。Struts提供一个ActionForward类,用来将一个页面的路径保存为逻辑名称。当完成业务逻辑后,Action选择并向Servlet返回一个ActionForward。Servlet然后使用保存在ActionForward对象中的路径来调用页面完成响应。Struts将这些细节都绑定在一个ActionMapping对象中。每个ActionMapping对象告诉Servlet,哪些个Acdtion,ActionForm,和ActionForward将要被本次请求使用。所有这些细节,关于Action,ActionForm,ActionServlet,ActionMapping,以及其它一些东西,都在struts-config.xml文件中定义。ActionServlet在启动时读取这个配置文件,并创建各配置对象数据库。在运行时,Struts应用是根据文件创建的配置对象,而不是文件本身。下图1-1显示了这些组件是如何一起工作的。图1-1 Struts组件1.3.2 MVC模式简介MVC是ModelViewController的简称,即模型视图控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。此模式可使得多个视图可以共享一个模型,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。模型(Model)是应用程序的主体部分,模型表示业务数据和业务逻辑;视图(View)是用户看到并与之交互的界面;控制器(Controller)接受用户的输入并调用模型和视图去完成用户的需求。MVC的处理过程:1.控制器接收用户的请求,并决定调用哪个模型来进行处理。2.模型根据用户请求进行相应的业务逻辑处理,并返回数据。3.控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。如上面所述的Struts的处理流程就是MVC模式的处理流程。在第四章关于本项目的实现部分体现了此模式的特点。1.3.3 Eclipse开发环境简介Eclipse是一种通用工具平台普遍使用的开放式扩展IDE。它提供了功能丰富的开发环境,允许开发者高效地创建一些能够无缝集成到Eclipse平台中的工具。Eclipse开发环境的易用性很好,而且又有中文化的界面。本项目就是在Eclipse这个开发利器上完成的,图1-2显示了Eclipse的中文化的界面。图1-2 Eclipse运行时界面1.3.4 ORACLE数据库体系结构本系统是采用Oracle数据库实现数据封装的。Oracle全局逻辑结构是一组基本表。一个基本表表示数据库中实际被存储的关系。局部逻辑结构是由建立在基本表上的视图和基本表组成的,即Oracle中的用户可以直接通过SQL语句去查询视图和基本表。在Oracle中,一个数据库对应一组数据文件。从某种意义讲,Oracle系统是一种类操作系统,它截获了宿主机操作系统的许多功能,如内存管理、进程管理和文件管理。通过截获操作系统许多功能,数据库的功能就大大提高了。Oracle系统是由Oracle物理文件、内存结构、Oracle进程三部分组成的。如图1-3所示。图1-3 Oracle系统基本结构Oracle使用系统内存存放常用信息和所有运行在Oracle上的程序,Oracle占的内存越多,效率就越高。这也是本系统使用Oracle数据库的主要原因。第2章 系统架构及结构流程本系统使用Java语言在Struts框架基础上进行开发,使用Oracle9i数据库进行数据存储,是一个基于Web访问的应用系统。2.1 基于B/S体系的系统架构随着Internet/Intranet技术的发展和普及,人们之间的信息沟通比以往变得更为高效快捷,Web技术的应用已成为一种必然。传统的C/S模式已经不能适应发展的需要, B/S(浏览器/服务器)模式应运而生。本系统就是采用B/S结构体系构建的。2.1.1 B/S体系结构B/S模式的数据库体系是利用Web和动态服务网页(Active Server Page)作为数据库操作的中间层,将C/S模式的数据库结构与Web结构的B/S模式相结合的数据库体系。系统的工作原理是:在前端采用IE、Netscape等浏览器将用户提交的操作信息向Web服务器发出HTTP请求,Web服务器通过ActionServlet 和一些中间组件访问后台数据库,并将操作结果以HTML,页面的形式返回给前端浏览器,如图2-1所示。图2-1 本系统结构工作原理2.1.2 使用B/S结构的意义教务管理是整个学校管理的一个重要部分,在信息高度共享的今天,学校要使自己成为信息网络的一个节点,要求自己的管理系统具有足够的开放性,B/S结构同Internet/Intranet完美的集成,可以充分利用网络资源,实现信息的实施发布,增加学校和外部的联系。学校管理系统在管理信息标准化、规范化的基础上,对信息进行合理的布局,为各职能部门提供优质、高效的业务管理和事务处理,使全校师生可以在校园网上对学校事务及其计划进行查询,了解等,所以系统面向的对象并非是计算机专业人员,要求操作界面的设计符合日常办公运作的需求,友好清晰,功能完备使用,简单易学。此外,随着学校规模的不断扩大,要考虑多小区办公的可能性。B/S结构满足的区域分散、通讯介质各异的应用,最大程度地减少客户端的维护量。2.2 总体结构流程本系统针对学生管理具体流程进行设计,在原有业务基础上,同业务管理人员一起对当前业务进行整合,使学生管理更加系统化和规范化。学生系统主要包括:新生管理、学生综合管理、学生工作管理、资助管理、奖惩管理、就业管理、党团管理等七个部分。新生管理包括:招生信息导入、新生报到管理。学生综合管理包括:学生基本信息管理、退学学生档案发送情况、重点关注学生信息、优秀学生信息管理、假期申请宿舍管理。学生工作管理:学生工作队伍管理(辅导员、导师、班主任)、学生工作考评奖励管理、学生工作计划。资助管理包括:贫困特困生信息管理、贫困生奖学金管理(阳光奖学金、贫困生国家奖学金、贫困生省奖学金)、特困补助管理(定期、临时、专项补助)、勤工助学管理、学费减免管理、社会资助管理、助学贷款管理。奖惩管理包括:学生奖学金管理、学生奖励管理、先进班级管理、学生违纪处分管理。就业管理包括:毕业生就业信息管理、优秀毕业生评定管理。党团管理包括:素质拓展计划管理、团员信息管理、团干部学生干部管理、奖励管理、学院分团委(班级团支部)考核管理、党员信息管理、优秀学生党支部管理。其总体结构图如图2-2所示:图2-2 本系统总体结构图各个模块起始于用户已经正常登录,并希望进行信息维护操作。每个模块基本都包括了对信息的列表显示、新增、修改、删除、查询和详细6个基本功能。基本流程图如图2-3所示:图2-3 本系统的基本流程图第3章 系统整体结构的设计与实现对于工程实现来说,一般先设计完成它的数据库,这将会有利于实现前台和业务层时程序的调试。本章将详细介绍了本工程的实现过程。3.1 数据库的实现根据需求分析在Oracle数据库中建立相应的表,然后通过JDBC连接数据库,对数据库进行操作。JDBC的连接实现由两种方法。一种是在项目的web.xml中对数据库进行配置即配置一个数据源,然后就可以在程序中,通过这个数据源得到一个数据库连接的对象。另一种方法也是本项目采用的方法,在resouces的资源文件里,将数据库的登录信息写入,系统会自动加载,在程序里直接使用SQL语句就可以对相应表或视图进行操作了。其相应的主要代码如下。BaseDataSource类利用dbcp来实现数据库连接池:this.setUsername(DbUtil.getBundle().getString("username").trim();this.setPassword(DbUtil.getBundle().getString("password").trim();this.setUrl(DbUtil.getBundle().getString("url").trim();Resources的资源文件:username=FY0701TEAM09;password=FY0701TEAM09;url=jdbc:oracle:thin:192.168.135.227:1521:orcl;这种实现方法有利于代码的可移植性。将代码移植到别的机器上,建立一个相应的数据库,只需重新设置Resources资源文件即可实现与数据库的连接。配置工作完成之后,在程序中就可以通过SQL语句直接对数据库中的数据进行操作。例如在本项目中建立一个SQL类,封装SQL语句。下面是经过身份验证后进入素质拓展计划种类管理模块,添加素质拓展计划种类时对数据库操作所使用的SQL语句。public static final String LEIBIE_ADD_SQL = "INSERT INTOXS_DM_SZTZJHZL (SZTZJHZLDM,SZTZJHZL) VALUES(?,?)"3.2 控制器在前面已经介绍了Struts框架与MVC模式,其中的控制器(C)起到中间的协调作用,要对用户请求数据进行封装,以及应该将用户的请求转发给哪个Action来处理,这些功能在Struts中就是通过config.xml文件来实现的。通过页面表单Form的action找到相应的业务处理Action即Action与config.xml文件的action配置的path相对应,Action中的type 指出了业务处理Action的路径。此外,若有数据封装处理则控制器ServletAction首先找到相应的Form bean,利用它对数据进行封装。而在Form bean与Action之间又是通过name属性映射的。在本项目中使用的是动态Form(DynaActionForm)。使用动态Form有一优点,直接在配置文件中增加<form-property>用来指定HTML form中的field名字,Struts框架会通过这些名字的匹配将HTML form各个field的值封装到DynaActionForm实例中。当HTML form中添加了一个属性,需要在DynaActionForm中添加一个属性时,就不需要去修改具体的ActionForm类,只需要在配置文件中添加一个form-property元素即可,大大提高了可扩展能力。3.3 界面的实现界面即MVC中的“V”。根据需求文档的分析以及规约的要求,除了列表(list)界面外,还需要增、改、查至少三个界面(因时间有限,导出功能没有要求实现)。例如图3-1所示,是经过身份验证后进入参与人员信息管理模块的界面,也即将数据库的信息列出来,以供用户操作。在此界面中,用户点击列表信息中的学号时,将会有超链接,系统显示参与人员详细信息界面。界面上面的五个按钮也需要五个超链接,当用户点击时超链接到相应的界面。参照新增中的录入项,所有信息为纯文字,只能查看,用户点【返回】按钮,系统回退上一步,返回信息列表界面。图3-1 参与人员信息管理界面新增功能的实现,则用户在信息管理界面点击【新增】按钮,超链接到用户新增参与人员信息界面系统显示参与人员信息录入内容,其页面如图3-2所示。图3-2 新增界面修改与查询的实现与以上两种功能的实现相似,只是它们的约束要求有些不同罢了。例如用户点击【修改】按钮,要选择已存在的信息进行修改,而新增功能是增加不存在的新信息。关于查询,它可以根据不同的条件执行。比如说根据学号,学院,参加时间等等进行相应的查询,并且查询列表相对比较专一,用户拥有哪个权限就列出相应的信息即可。但它们页面的实现类似,在此不再赘述。而对于删除功能相对简单些,无需多增加一个删除界面,而是根据操作结果返回一个成功或失败的界面即可。3.4 业务层的实现接着是Model层业务处理及调用的实现,也即为MVC中的“M”。建立了两个Java类和一个SQL类。业务处理Manager类和业务调用Action类将所有功能封装在一起进行了实现。而SQL类是对数据库的操作。在第三章已经介绍了SQL类,在本节中主要介绍两个Java类的功能。业务处理类(以素质拓展计划种类管理为例,因为此类中的方法是其他两个模块的类的基础)即对后台数据库的操作。例如在用户进入信息管理模块时,界面显示了从数据库中提出的新系列表。它的实现就是通过调用getXmlData方法从数据库中抓取数据显示给页面,下面的实现代码:weihuList = executeQuery(sql);xmlStringData = getXmlData(weihuList, new String"SZTZJHZLDM", "SZTZJHZL", "ROWID");request.setAttribute("XmlData", xmlStringData);Manager类主要实现了通过调用SQL类中的SQL语句对数据库进行操作的实现,剩下的工作就是如何将前台的页面与后台的数据库联系在一起。这就是Action的作用。Action类又通过调用Manager类中的对数据库操作的方法,利用findForward决定将哪个页面返回给用户。如下是它的部分代码例子。SztzjhglManager sztzjhglManager = new SztzjhglManager();sztzjhglManager.forVilidate(request);return mapping.findForward("addlb"); 3.5 功能的细化基本工作都已做完,余下的就是细节方面的内容。功能的细化主要是指对数据的校验,需求分析中所要求的细化功能等。在数据的校验方面,以前台为主,用到了JavaScript技术。例如对于添加功能输入的长度限制;以及某些输入项不可为空;修改、删除时必须选择一项等等,下面以添加时不能为空为例。其界面如图3-3所示:实现的代码如下:if(t.value=null|t.value='') t.focus();alert(''+t.prompt+'不能为空,请重新输入!');return false; 图3-3 增添校验界面在素质拓展计划参与人员信息管理模块中,有一功能要求是在系统显示参与人员录入内容时,对于学号,姓名等要用放大镜带出,如图3-4所示。图3-4 放大镜显示的界面这就是功能的进一步细化,这主要是在类中实现,当点击放大镜时需要链接到一个列表页面,那么这就需要将符合的数据从数据库取出来显示到页面上,本项目中的素质拓展计划参与人员管理模块的新增功能