




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . 基于MVC模式的数字校园学生业务子系统The Student Operation Subsystem of DigitalSchoolBased on MVC Pattern目 录摘要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
2、.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参考文献1716 / 20摘 要建设数字校园是高校教育信息化在数字时代的必然目标,它将对中国高校教育改革起到积极的推动作用。本文首先阐述了建设数字校园业务系统的意义,结合校园具体业务活动,论证了用Struts框架的MVC模式开发的可能性和必要性,详细分析了系统的整体方案设计与实现。课题的研究取得了以下几方面的成绩:(1)设计和实现了
3、系统的安全策略。(2)设计和实现了应用系统的校验信息。(3)编写了处理用户操作请求的后台服务器程序。关键词 数字校园,Struts,MVC,浏览器/服务器ABSTRACTBuilding digital school is a necessary goal for educateinformationalin the digital age, which will promote the Chinese collage educate innovation actively.This paper firstly expounds the meaning of constructing the
4、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 developanalyze and realize the whole system's project design in detail.The results of the research as following:(1)Des
5、ign 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第1章 绪论随着大学校园信息化建设的不断深入,从技术到应用对大学校园网络上的应用系统提出了更高的要求。数字校园是以网络为基础,利用
6、先进的信息化手段和工具,实现从环境到活动的全部数字化。在传统校园的基础上构建一个数字空间以拓展现实校园的时间和空间维度,从而提升了传统校园的效率,扩展了传统校园的功能,最终实现教育过程的全面信息化。1.1 课题提出的意义21世纪将是人类全面进入信息化社会的世纪,21世纪的教育必须适应信息化社会对教育的需求。为此,世界发达国家高度重视信息技术对教育的影响和作用,重新调整教育目标,制定教育改革方案,加快推进教育信息化建设。近年来我国也开始重视教育信息化,特别是在“面向21世纪教育振兴行动计划”中强调利用信息技术推进教育改革。要把我国校园建设成为安全,高效,协调组织机构,需要具有先进的管理机制提供强
7、有力的支持。而学生处(学工部)以与团委是学校重要的职能部门,全面负责学生的管理。学校目前的学生管理系统已经不能满足当前的工作需要,因此,重新建立开发一套完善而且全面的学生管理系统十分必要。1.2 学校业务管理系统发展状况随着信息网络化的飞速发展,人类社会正在向信息化社会全面发展。不可避免的,信息化的进程对教育也产生了深刻的影响和作用。世界各发达国家和我国都高度重视教育信息化工作,尤其在我国,信息技术被认为是推动教育改革的重要手段。1.2.1 我国学校业务管理系统发展状况我国高等学校大规模的信息化建设大多始于90年代,比西方发达国家起步晚了1020年。在沿海地区和较发达的城市,高校信息化的建设近
8、年来有了十分迅猛的发展,信息技术已广泛地应用于高校的教学、科研以与管理等各个领域,取得很好的效果。据清华大学计算机与信息管理中心提供的材料,清华大学目前每学期已有700多门课程采用网络辅助教学,校有两万多学生通过网络学习课程。我国基于网络的远程教育也有很大的发展,据报道,1999年我国仅有4所大学开始远程教育试点,在读学生最初只有7000多名。目前已发展到67所大学,共有学生130多万名。1.2.2 外国学校业务管理系统发展状况事实上,高校信息化的发展与计算机科技的发展紧密相关,因此分析高校信息化的发展可以从计算机技术发展的不同阶段入手。由于计算机技术的发展通常分为主机(Mainframe)、
9、个人计算机(PC)和计算机网络(Computer Network)三个时代,因此高校信息化的发展同样可以分为三个阶段。主机时代,从上个世纪6070年代起,计算机开始在高校的教学与科研活动中扮演角色。除科学计算以外,各种计算机辅助教育软件,即CAI(Computer Aided Instruction)软件的开发先后列入国外一些高校的研究计划中。到了90年代计算机网络,特别是因特网的出现,给高校的教育带来深刻的影响,高校信息化进入一个崭新的阶段。但我国与发达国家相比,应该说我们是相对落后的。仅以数字图书馆为例,美国一个校级的图书馆如加州数字图书馆(California Digital Libra
10、ry,CDL)就拥有3200万项数字学术资源。我国数字资源的建设还刚刚起步,中文网上资源还十分匮乏。这些现状同样会影响到高校的信息化建设。因此,建设数字校园是高校教育信息化在数字时代的必然目标,它将对中国高校教育改革起到积极的推动作用。1.2.3 数字校园数字校园建设是分阶段、分层次的,它经历的是由硬与软、由下而上、螺旋上升的建设过程。数字校园也是一个层次化的结构,其体系结构可以用一系列同心圆表示,圆是核心,是基础,外圆是在圆的基础上提供的更进一步的服务。按照功能划分,数字校园由到外可以分为五层:网络基础、基本网络服务、应用支撑系统、信息服务系统、虚拟大学。网络基础:网络是数字校园最基础的设施
11、,没有相应的网络基础设施,数字不能流动,就不可能形成数字空间;网络基本服务:网络基本服务是数字流动的软件基础,包括电子、文件传输、信息发布、域名服务、身份认证、目录服务、安全服务、计费管理等;应用支撑系统:应用支撑系统是数字校园的核心支持系统,它直接管理各种信息资源,并根据相关的逻辑提供给用户使用,如办公自动化系统、数字图书馆、管理信息系统和网络教学系统等;信息服务系统:信息服务系统是校用户的主要使用界面,它将条理化的数据按照用户的需求提供服务,如后勤服务、信息查询、决策支持系统等;虚拟大学:虚拟大学是校园数字化后功能的自然扩展,使大学的功能突破围墙的限制,成为一个可以覆盖网络可达围的无疆域的
12、大学。1.3 系统开发工具介绍任何软件的开发都需要开发工具。本系统的开发用到的几乎都是当前最为流行的开发工具,例如Struts、Eclipse等等。本节将简单介绍一下在本项目中所使用到的开发工具。1.3.1 Struts框架与工作流程Struts是一个开源软件,有助于开发者更加快速和容易地建立Web应用程序。使用Struts的应用开发使用了大量的其他基础技术。这些技术并不是专门针对Struts,而是所有Java web应用都可以使用的。开发者使用Struts之类的框架是为了隐藏在诸如 ,CGI,以与JSP之类技术后面的繁琐的细节。Struts使用Model2架构。Struts的ActionSe
13、rvlet控制导航流。其他Struts类,比如Action,用来访问业务逻辑类。当ActionServlet从前台接受到一个请求,它使用URL(或者路径“path”)来决定哪个Action将用来处理请求。ActionServlet通过查找请求的路径可以决定使用哪个ActionForm,Action也是通过同样的方法选取的。Struts提供一个ActionForward类,用来将一个页面的路径保存为逻辑名称。当完成业务逻辑后,Action选择并向Servlet返回一个ActionForward。Servlet然后使用保存在ActionForward对象中的路径来调用页面完成响应。Struts将这
14、些细节都绑定在一个ActionMapping对象中。每个ActionMapping对象告诉Servlet,哪些个Acdtion,ActionForm,和ActionForward将要被本次请求使用。所有这些细节,关于Action,ActionForm,ActionServlet,ActionMapping,以与其它一些东西,都在struts-config.xml文件中定义。ActionServlet在启动时读取这个配置文件,并创建各配置对象数据库。在运行时,Struts应用是根据文件创建的配置对象,而不是文件本身。下图1-1显示了这些组件是如何一起工作的。图1-1 Struts组件1.3.2
15、MVC模式简介MVC是ModelViewController的简称,即模型视图控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。此模式可使得多个视图可以共享一个模型,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。模型(Model)是应用程序的主体部分,模型表示业务数据和业务逻辑;视图(View)是用户看到并与之交互的界面;控制器(Controller)接受用户的输入并调用模型和视图去完成用户的需求。MVC的处理过程:1.控制器接收用户的请求,并决定调用哪个模型来进行处理。2.模型根据用户请求进行相应的业务逻辑处理,并返回数据。3
16、.控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。如上面所述的Struts的处理流程就是MVC模式的处理流程。在第四章关于本项目的实现部分体现了此模式的特点。1.3.3 Eclipse开发环境简介Eclipse是一种通用工具平台普遍使用的开放式扩展IDE。它提供了功能丰富的开发环境,允许开发者高效地创建一些能够无缝集成到Eclipse平台中的工具。Eclipse开发环境的易用性很好,而且又有中文化的界面。本项目就是在Eclipse这个开发利器上完成的,图1-2显示了Eclipse的中文化的界面。图1-2 Eclipse运行时界面1.3.4 ORACLE数据库体系结构本系统是采用
17、Oracle数据库实现数据封装的。Oracle全局逻辑结构是一组基本表。一个基本表表示数据库中实际被存储的关系。局部逻辑结构是由建立在基本表上的视图和基本表组成的,即Oracle中的用户可以直接通过SQL语句去查询视图和基本表。在Oracle中,一个数据库对应一组数据文件。从某种意义讲,Oracle系统是一种类操作系统,它截获了宿主机操作系统的许多功能,如存管理、进程管理和文件管理。通过截获操作系统许多功能,数据库的功能就大大提高了。Oracle系统是由Oracle物理文件、存结构、Oracle进程三部分组成的。如图1-3所示。图1-3 Oracle系统基本结构Oracle使用系统存存放常用信
18、息和所有运行在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模式的数据库体系是利
19、用Web和动态服务网页(Active Server Page)作为数据库操作的中间层,将C/S模式的数据库结构与Web结构的B/S模式相结合的数据库体系。系统的工作原理是:在前端采用IE、Netscape等浏览器将用户提交的操作信息向Web服务器发出 请求,Web服务器通过ActionServlet 和一些中间组件访问后台数据库,并将操作结果以HTML,页面的形式返回给前端浏览器,如图2-1所示。图2-1 本系统结构工作原理2.1.2 使用B/S结构的意义教务管理是整个学校管理的一个重要部分,在信息高度共享的今天,学校要使自己成为信息网络的一个节点,要求自己的管理系统具有足够的开放性,B/S结
20、构同Internet/Intranet完美的集成,可以充分利用网络资源,实现信息的实施发布,增加学校和外部的联系。学校管理系统在管理信息标准化、规化的基础上,对信息进行合理的布局,为各职能部门提供优质、高效的业务管理和事务处理,使全校师生可以在校园网上对学校事务与其计划进行查询,了解等,所以系统面向的对象并非是计算机专业人员,要求操作界面的设计符合日常办公运作的需求,友好清晰,功能完备使用,简单易学。此外,随着学校规模的不断扩大,要考虑多小区办公的可能性。B/S结构满足的区域分散、通讯介质各异的应用,最大程度地减少客户端的维护量。2.2 总体结构流程本系统针对学生管理具体流程进行设计,在原有业
21、务基础上,同业务管理人员一起对当前业务进行整合,使学生管理更加系统化和规化。学生系统主要包括:新生管理、学生综合管理、学生工作管理、资助管理、奖惩管理、就业管理、党团管理等七个部分。新生管理包括:招生信息导入、新生报到管理。学生综合管理包括:学生基本信息管理、退学学生档案发送情况、重点关注学生信息、优秀学生信息管理、假期申请宿舍管理。学生工作管理:学生工作队伍管理(辅导员、导师、班主任)、学生工作考评奖励管理、学生工作计划。资助管理包括:贫困特困生信息管理、贫困生奖学金管理(奖学金、贫困生国家奖学金、贫困生省奖学金)、特困补助管理(定期、临时、专项补助)、勤工助学管理、学费减免管理、社会资助管
22、理、助学贷款管理。奖惩管理包括:学生奖学金管理、学生奖励管理、先进班级管理、学生违纪处分管理。就业管理包括:毕业生就业信息管理、优秀毕业生评定管理。党团管理包括:素质拓展计划管理、团员信息管理、团干部学生干部管理、奖励管理、学院分团委(班级团支部)考核管理、党员信息管理、优秀学生党支部管理。其总体结构图如图2-2所示:图2-2 本系统总体结构图各个模块起始于用户已经正常登录,并希望进行信息维护操作。每个模块基本都包括了对信息的列表显示、新增、修改、删除、查询和详细6个基本功能。基本流程图如图2-3所示:图2-3 本系统的基本流程图第3章 系统整体结构的设计与实现对于工程实现来说,一般先设计完成
23、它的数据库,这将会有利于实现前台和业务层时程序的调试。本章将详细介绍了本工程的实现过程。3.1 数据库的实现根据需求分析在Oracle数据库中建立相应的表,然后通过JDBC连接数据库,对数据库进行操作。JDBC的连接实现由两种方法。一种是在项目的web.xml中对数据库进行配置即配置一个数据源,然后就可以在程序中,通过这个数据源得到一个数据库连接的对象。另一种方法也是本项目采用的方法,在resouces的资源文件里,将数据库的登录信息写入,系统会自动加载,在程序里直接使用SQL语句就可以对相应表或视图进行操作了。其相应的主要代码如下。BaseDataSource类利用dbcp来实现数据库连接池
24、: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.
25、168.135.227:1521:orcl;这种实现方法有利于代码的可移植性。将代码移植到别的机器上,建立一个相应的数据库,只需重新设置Resources资源文件即可实现与数据库的连接。配置工作完成之后,在程序中就可以通过SQL语句直接对数据库中的数据进行操作。例如在本项目中建立一个SQL类,封装SQL语句。下面是经过身份验证后进入素质拓展计划种类管理模块,添加素质拓展计划种类时对数据库操作所使用的SQL语句。public static final String LEIBIE_ADD_SQL = "INSERT INTOXS_DM_SZTZJHZL (SZTZJHZLDM,SZTZJ
26、HZL) VALUES(?,?)"3.2 控制器在前面已经介绍了Struts框架与MVC模式,其中的控制器(C)起到中间的协调作用,要对用户请求数据进行封装,以与应该将用户的请求转发给哪个Action来处理,这些功能在Struts中就是通过config.xml文件来实现的。通过页面表单Form的action找到相应的业务处理Action即Action与config.xml文件的action配置的path相对应,Action中的type 指出了业务处理Action的路径。此外,若有数据封装处理则控制器ServletAction首先找到相应的Form bean,利用它对数据进行封装。而在
27、Form bean与Action之间又是通过name属性映射的。在本项目中使用的是动态Form(DynaActionForm)。使用动态Form有一优点,直接在配置文件中增加<form-property>用来指定HTML form中的field名字,Struts框架会通过这些名字的匹配将HTML form各个field的值封装到DynaActionForm实例中。当HTML form中添加了一个属性,需要在DynaActionForm中添加一个属性时,就不需要去修改具体的ActionForm类,只需要在配置文件中添加一个form-property元素即可,大大提高了可扩展能力。3.
28、3 界面的实现界面即MVC中的“V”。根据需求文档的分析以与规约的要求,除了列表(list)界面外,还需要增、改、查至少三个界面(因时间有限,导出功能没有要现)。例如图3-1所示,是经过身份验证后进入参与人员信息管理模块的界面,也即将数据库的信息列出来,以供用户操作。在此界面中,用户点击列表信息中的学号时,将会有超,系统显示参与人员详细信息界面。界面上面的五个按钮也需要五个超,当用户点击时超到相应的界面。参照新增中的录入项,所有信息为纯文字,只能查看,用户点返回按钮,系统回退上一步,返回信息列表界面。图3-1 参与人员信息管理界面新增功能的实现,则用户在信息管理界面点击新增按钮,超到用户新增参
29、与人员信息界面系统显示参与人员信息录入容,其页面如图3-2所示。图3-2 新增界面修改与查询的实现与以上两种功能的实现相似,只是它们的约束要求有些不同罢了。例如用户点击修改按钮,要选择已存在的信息进行修改,而新增功能是增加不存在的新信息。关于查询,它可以根据不同的条件执行。比如说根据学号,学院,参加时间等等进行相应的查询,并且查询列表相对比较专一,用户拥有哪个权限就列出相应的信息即可。但它们页面的实现类似,在此不再赘述。而对于删除功能相对简单些,无需多增加一个删除界面,而是根据操作结果返回一个成功或失败的界面即可。3.4 业务层的实现接着是Model层业务处理与调用的实现,也即为MVC中的“M
30、”。建立了两个Java类和一个SQL类。业务处理Manager类和业务调用Action类将所有功能封装在一起进行了实现。而SQL类是对数据库的操作。在第三章已经介绍了SQL类,在本节中主要介绍两个Java类的功能。业务处理类(以素质拓展计划种类管理为例,因为此类中的方法是其他两个模块的类的基础)即对后台数据库的操作。例如在用户进入信息管理模块时,界面显示了从数据库中提出的新系列表。它的实现就是通过调用getXmlData方法从数据库中抓取数据显示给页面,下面的实现代码:weihuList = executeQuery(sql);xmlStringData = getXmlData(weihuL
31、ist, new String"SZTZJHZLDM", "SZTZJHZL", "ROWID");request.setAttribute("XmlData", xmlStringData);Manager类主要实现了通过调用SQL类中的SQL语句对数据库进行操作的实现,剩下的工作就是如何将前台的页面与后台的数据库联系在一起。这就是Action的作用。Action类又通过调用Manager类中的对数据库操作的方法,利用findForward决定将哪个页面返回给用户。如下是它的部分代码例子。SztzjhglMana
32、ger sztzjhglManager = new SztzjhglManager();sztzjhglManager.forVilidate(request);return mapping.findForward("addlb"); 3.5 功能的细化基本工作都已做完,余下的就是细节方面的容。功能的细化主要是指对数据的校验,需求分析中所要求的细化功能等。在数据的校验方面,以前台为主,用到了JavaScript技术。例如对于添加功能输入的长度限制;以与某些输入项不可为空;修改、删除时必须选择一项等等,下面以添加时不能为空为例。其界面如图3-3所示:实现的代码如下:if(t.
33、value=null|t.value='') t.focus();alert(''+mpt+'不能为空,请重新输入!');return false; 图3-3 增添校验界面在素质拓展计划参与人员信息管理模块中,有一功能要在系统显示参与人员录入容时,对于学号,等要用放大镜带出,如图3-4所示。图3-4 放大镜显示的界面这就是功能的进一步细化,这主要是在类中实现,当点击放大镜时需要到一个列表页面,那么这就需要将符合的数据从数据库取出来显示到页面上,本项目中的素质拓展计划参与人员管理模块的新增功能,其实现代码类同于第三节介绍的业务层的实现部分
34、的代码。需要再做一个界面,在前台设置超,利用getXmlData方法从数据库中将相应的信息抓取,当用户点击放大镜图片时,超到此页面,系统显示相应的信息。从图3-2的界面上可以看到还有橡皮擦,日历等,顾名思义,橡皮擦就是起到删除修改,日历显示日期的作用。它们的实现方法相似。都是在前台页面引用相应图片,通过<a>的href超来实现的。除了上面提到的这些功能之外,还有一些功能,例如一些文本框不可编辑,即只可读不可写,有些文本框不是填写,而是通过下拉列表显示选项由用户直接选择即可,这些功能基本上也都是通过前台表单的设置以与页面的超实现的。此外,在上面的图中,每个页面几乎都用到了第一页、上一
35、页、下一页、最后一页、跳转几个按钮,它们的实现就是利用数据岛技术,数据岛的主要作用就是将数据以列表的形式显示出来。数据岛技术提供了一些实现这些按钮的方法。这部分代码可以重复使用。例如素质拓展计划种类维护列表界面所使用数据岛技术的代码如下。function previousPage()b1.previousPage()function nextPage()b1.nextPage();在页面的设计中,是通过表单中按钮和文本框的Onclick,Onchange等调用相关方法实现的。当点击按钮时,Onclick直接到相应的方法中。例如点击页面上的第一页,通过Onclick找到javascript中的firstPage()方法,实现按钮的功能。再比如页面上的“到”哪一“页”的文本框,当改变时,通过Onchange调用goPabeNum()方法来实现的。其代码如下。<a href="#" OnClick="javascript:tb1.firstPage()" class=&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文课程中的活动设计试题及答案
- 2024年专升本思政考察范围试题及答案
- 思考2024年专升本思政重要性与试题及答案关联
- 国际图书馆合作与试题及答案
- 湖南省长沙市长郡梅溪湖中学2024-2025学年七年级下学期第一次月考语文试题(含答案)
- 法学概论练习题库与参考答案
- 安全员A模拟题(附答案)
- 营养师 技能操作习题与参考答案
- 图书管理员考试方法论试题及答案总结
- 中医体质辨识试题及答案
- 帕瓦娜的守候
- 2022年海南省高考物理真题试卷含答案与解析
- 意识障碍诊疗规范2023版
- 仪表检修规程
- 煤矿电气设备防爆检查细则
- 国家电网有限公司十八项电网重大反事故措施
- 耕整地机械使用与维护-深松机的使用与维护
- 中国联通光传送网 WDM OTN 安全白皮书
- 高速公路交安工程监理实施细则
- 本特利3300 XL 8mm 电涡流传感器选型手册
- 2023学年完整公开课版铣削六面体
评论
0/150
提交评论