(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的高校教务管理系统的开发与实现.pdf.pdf 免费下载

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

文档简介

摘要 高校信息化是社会信息化的基础和重要标志。实现高校的信息 化,是知识经济条件下高等院校发展的大势所趋。建立适应知识经济 时代要求的高校信息管理系统,利用信息技术改造传统管理、教学的 运作模式,实现教育信息化,推进传统高校向现代化高校的转变,是 高校信息化的核心内容。本文主要阐述了基于j 2 e e 的湖南工学院网络 教务管理系统的开发与实现。 论文首先对j 2 e e 开发框架下的控制层技术、客户端技术、 s e r v e r p a g e s 技术以及系统采用的三层模型进行了阐述;接着对整个系 统进行了详细的功能、体系结构分析与设计,设计了系统的应用架构, 并对系统进行了基于整体的数据库设计;针对湖南工学院学生人数数 量大而教师和教室等教学资源严重不足,使得原有的排课方法无法满 足正常的教学需求的具体情况,论文在综合多种排课算法的基础上提 出了一种改进的基于遗传算法的排课算法,很好的解决了这一问题; 然后论述了系统的应用程序在w e b l o g i c 下的部署以及排课子系统的 具体设计应用。 最后,本文对该系统进行了测试,测试结果表明基于j 2 e e 的高 校教务管理系统是高效的,将其运用到现实环境中是正确可行的,研 究内容具有一定的应用价值。 关键字j 2 e e ,教务管理系统,遗传算法 a bs t r a c t u n i v e r s i t yi n f o r m a t i o n i z a t i o ni st h eb a s i ca n di m p o r t a n ts y m b o l t h ei n f o r m a t i o n i z a t i o no f s o c i e t y u n d e rt h ec o n d i t i o n s o f o f k n o w l e d g e - b a s e de c o n o m y , i ti s t h e g e n e r a lt r e n df o ru n i v e r s i t i e st o a c h i e v ei n f o r m a t i o n i z a t i o n 1 1 1 em a i n c o n t e n t so f u n i v e r s i t y i n f o r m a t i o n i z a t i o na r ea sf o l l o w s ,e s t a b l i s h i n gi n f o r m a t i o nm a n a g e m e n t s y s t e m o fu n i v e r s i t i e sw h i c ha d a p t st ot h er e q u i r e m e n t so ft h e k n o w l e d g e - b a s e de c o n o m ye r a ;r e c o n s t r u c t i n gt r a d i t i o n a lo p e r a t i o nm o d e o f m a n a g e m e n ta n dt e a c h i n gw h i c hm a k e su s eo fi n f o r m a t i o nt e c h n o l o g y ; i m p l e m e n t i n g e d u c a t i o ni n f o r m a t i o n i z a t i o n ;p r o m o t i n gt r a n s f o r m a t i o n f r o mt h et r a d i t i o n a lu n i v e r s i t i e st ot h em o d e r no n e s t h i st h e s i sf o c u s e s o nd e v e l o p m e n ta n di m p l e m e n t a t i o no fn e t w o r kt e a c h i n gm a n a g e m e n t s y s t e mi nh u n a ni n s t i t u t eo ft e c t m o l o g yw h i c h i sb a s e do nj 2 e e f i r s to fa l l ,w em a k ea ne x p l a n a t i o na b o u tt h ec o n t r o lt e c h n o l o g y , t h ec l i e n tt e c h n o l o g y , t h es e r v e r p a g e st e c h n o l o g ya n dt h e3 - l a y e rm o d e l u s e di nt h es y s t e mu n d e rt h ef r a m e w o r ko ft h ed e v e l o p m e n to fj 2 e e t h e nw ed e t m l e d l ya n a l y z ea n dd e s i g nt h ef u n c t i o na n dt h es y s t e m a r c h i t e c t u r eo ft h ew h o l es y s t e m a f t e rt h a tw eh a v ed e s i g n e dt h ea p p l i e d a r c h i t e c t u r ef o rt h es y s t e m ,a n dd e s i g n e dt h ed a t a b a s eb a s e do nt h ew h o l e s y s t e m t h e r ea real o to fs t u d e n t sa n das e r i o u ss h o r t a g eo ft e a c h i n g r e s o u r c e ss u c ha sc l a s s r o o m sa n dt e a c h e r si nt h eh u n a ni n s t i t u t eo f t e c h n o l o g y a sar e s u l tt h eo r i g i n a lm e t h o dc a l ln o tm e e tt h en o r m a l t e a c h i n gr e q u i r e m e n t s a i m m i n ga tt h i sp r o l e m ,w ep u tf o r w a r da l l i m p r o v e da l g o r i t h mo fa r r a n g i n gc o u r s eb a s e do ng e n e t i ca l g o r i t h mb y i n t e g r a t i n g v a r i o u s a r r a n g i n g c o u r s ea l g o r i t h m s 。腑d i s c u s st h e d e p l o y m e n to ft h es y s t e ma p p l i c a t i o nu n d e rw e b l o g i c ,a sw e l la st h e c o n c r e t ed e s i g na p p l i c a t i o no ft h ea r r a n g i n gs u b s y s t e m f i n a l l y , w et e s tt h es y s t e m , a n dt h ee x p e r i m e n t a lr e s u l t so ft h e s y s t e ms h o wt h a tt h ee d u c a t i o n a lm a n a g e m e n ts y s t e mo fu n i v e r s i t yi s h i 曲l ye f f e c t i v e i ti s f e a s i b l et h a tt h es y s t e mi s e m p l o y e di n r e a l e n v i r o n m e n t t h er e s e a r c hh a sc e r t a i na p p l i c a t i o nv a l u e k e yw o r d sj 2 e e ,t e a c h i n gm a n a g e m e n ts y s t e m ,g e n e t i ca l g o r i t h m i l 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均己在论文中作了明确的说明。 作者签名: 巷芝季晕日期:珥年上月业日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者繇五强翩签硅迹嗍牢年上月丝日 硕士学位论文第一章绪论 1 1 引言 第一章绪论 利用信息技术实现国民经济和社会信息化是我国十五期间科教兴国的重点 战略。高校信息化是社会信息化的基础和重要标志。实现高校的信息化,是知识 经济条件下高等院校发展的大势所趋。建立适应知识经济时代要求的高校信息管 理系统,利用信息技术改造传统管理、教学的运作模式,实现教育信息化,推进 传统高校向现代化高校的转变,是高校信息化的核心内容。近年来,随着我国教 育改革的深化,素质教育的全船面推进,高校办学规模不断扩大,学年制逐渐向 学分制过渡,弹性学制广泛推行,教学资源日益紧张。如何充分利用稀缺的教学 资源,提高资源的使用率,如何减轻高校各管理部门的繁重任务,提高管理的科 学性以提高教学质量和办学水平成为高校管理职能共同部门非常关心的焦点。教 务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,面 对这挑战,开发一个实用、先进、完整的高校教务管理信息系统是非常重要和 必要的。 1 2 课题的背景 高校教务管理系统就是利用计算机网络技术、数据存储技术、快速数据处理 技术来对高等学校的日常教学管理运行进行全方位管理的计算机软、硬件系统。 利用该系统,各高校可以达到较高的信息化管理水平和无纸化办公的目的。 伴随着高等院校招生规模的扩大,高校校园地域的分散,目前国内外高校为 了提高教学质量和办学水平,纷纷启动并加快了数字化校园的建设的步伐,相继 建成了校园网,搭建了数字化校园的硬件平台,部分高校购置了教务管理系统, 部分高校开发了一些单项管理模块,但是,不少软件在实际使用过程中或多或少 存在一些缺陷。一部分教务管理软件本身模式滞后,还采用c s 结构模式,缺乏 统一规划、系统设计,常常是的系统里的大量数据形成信息“孤岛 1 1 l ,很难及 时处理学校教学管理的大批量信息。更不合适目前的弹性学制,此类系统目前很 难担负高校的教务管理的任务了、亟待改进。一部分则采用改良的方式,采用 c s 结构和b s 结构混合模式,但这种模式也是一种暂时的方法,采用此模式开 发的系统功能往往功能单一化,信息反馈滞后,信息准确性低,基本采用两层的 b s 模型,采用a s p 技术开发,在开发中对不同模块中的同一业务的编码往往要 重复编写,软件的维护很复杂,安全性比较低,软件可用性不强。而且由于c s 结构固有的缺陷t 规模受限、软件投资大、数据安全方面存在不足、应用的少许 硕士学位论文第一章绪论 变化牵涉模型变化1 2 。所以,开发采用基于三层、多层的高校教务管理系统是必 然的趋势。 目前由于基于三层b s 模型能使得开发的系统规模可变、安全性高、可降低 软件投资且软件的视线依然简单。所以,有不少的大型企业、部门都在开发基 于三层模型的软件系统,对比多层应用的实现技术,象c o m d c o m c o m + 技术、 r m i 技术、c o r b a 技术、e j b 技术、j 2 e e 技术,而j 2 e e 由于其相比传统的程 序模型有着不可比拟的优势,采用j 2 e e 来开发企业应用成了主流。目前基于高 校教务管理系统就实现技术来讲大多是a s p 等,采用的大多是c s 或两层b s 模型,象清华的的清华大学本科生综合教务管理系统、浙江大学的方正校园信息 平台、强智科技的强智高校教务网络管理平台都如此。 总之,基于j 2 e e 的三层b s 模型的企业管理系统的开发已经得到人们的研 究、重视、还将进一步得到更大、更深层次的研究、开发。它也必定会在规模越 来越大、管理日趋复杂,要求必须建立起及时、准确、全面、丰富的教学管理信 息平台的高校当中得到重视、研究、开发利用。 1 3 课题的研究目标 建立基于三层模型的湖南工学院教务管理系统的模型。根据湖南工学院的教 学实际情况和特点,建立通立校园网,在校园网上建立基于j 2 e e 的三层模式的 弹性学年制教务管理系统模型。 利用j 2 e e 架构,使用j s p 、s e r v l e t 、j a v a b e a n 、x m l 、e j b 、j d b c 等技术、 结合应用s q l 、w e b l o g i es e r v e r s 开发实现出能具体应用的湖南工学院教务管理 系统。 综合多种排课算法,改进传统的遗传算法,提出一种基于染色体的智能排课 算法。解决湖南工学院学生人数激增而教学资源严重不足的情况下原来的排课难 题。 1 4 课题的意义 教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方 面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常 管理工作日趋繁重、复杂,教务管理的信息化己成为教育信息化的一个重要方面, 对学校、教师、学生三方都提供了很大的便利口对学校来说,优化管理体制,实 现资源合理配置,节约更多的资金用于教学科研及校园设施:便于教学信息的快 速传递和充分共享,提高职能部门的工作效率,减轻工作人员负担:推动学校管 理机制进一步完善,适应信息化的要求,充分体现现代化学校的先进性。对教师 2 硕士学位论文 第一章绪论 来讲,利用建立在校园网上的基于三层模式的教务管理系统随时了解自己的授课 任务及课时安排,随时发布课程相关信息和学生成绩,节省更多的时间用于理论、 科研的研究。 对学生来讲,可以及时了解学校的教学计划、课程设置情况,自己选课、成 绩等信息,合理安排自己的时间、更好的完成学习任务,有更多的时间来选择自 己感兴趣的课程,开阔视野,提高综合素质。 目前,虽然一些学校己经开发出了功能比较全面、完善的校务管理软件,一 些学校也在引进这种软件用于本校的教务管理,但是因为各个学校的实际清况不 同,引进的软件往往不能直接投入使用,而必须经过二次开发。我们学校,运 行和考核制度都与其他学校有很大的差异,如果引进一套管理系统,从进行二次 开发所需的人力、时间和费用计算,可能还要高于自己开发的费用。不但如此, 从系统的数据结构看,引进系统的数据结构不可能和我校数据库的结构相同,甚 至有很大的出入,进行数据移植所需的代价也相当大。从长远的发展来看,根据 我校的实际情况和发展目标开发自己的管理系统,不但可以直接和学校的管理制 度接轨,不必被迫改变原有的管理体系,省去由此带来的麻烦,更重要的是便于 今后系统的扩充、改进和升级。 在校园网上开发出基于j 2 e e 的三层b s 结构的学校教务管理信息系统。系统 提供数据共享,统一界面和操作模式。系统尽量做到仿真真实教务管理流程,各 个环节衔接自然,信息传送方便、流畅,用户界面友好,整个系统安全、保密、 高效。通过研制开发此系统,提高我校教务管理效率,使管理逐步走向信息化, 从而节省人力、物力和财力,为学校师生服务,为学校决策提供依据。 1 5 论文的组织结构 论文全文共分六章: 第一章绪论。这一章主要介绍课题的研究背景、研究现状和研究目标,并 阐述了建立基于j 2 e e 的高校教务管理系统的必要性及其重要意义。 第二章高校教务管理系统开发的主要技术。介绍了j 2 e e 体系中的组件开 发技术。 第三章高校教务管理系统的分析与设计。描述了系统的整体架构的分析与 设计和数据库的设计。 第四章排课子系统的设计与实现。详细介绍排课子系统设计及实现,以及 排课子系统采用的关键算法。 第五章应用程序的部署及系统应用。介绍了利用w e b l o g i c 进行应用程序的 部署过程。教务管理系统的应用。主要测试和运行教务管理系统的性能,对遗传 硕士学位论文 第一章绪论 排课算法进行验证。 第六章结论与展望。教务管理系统经测试运行证明是有效、可靠的,在传 统的遗传算法的基础上提出了改正的智能排课算法经实验验证是可行的。 4 硕士学位论文 第二章高校教务管理系统开发的主要技术 第二章高校教务管理系统开发的主要技术 2 1 目前开发教务管理系统存在的问题 目前教务管理系统w e b 开发主要是s e r v e r p a g e s 的开发和服务器端响应逻辑 代码的开发,其中服务器端响应逻辑代码是用于响应客户端的请求。s e r v e r p a g e s 的开发又可以细分为服务器端代码的开发、静态h t m l 的开发和客户端脚本 开发。这些开发中主要存在着以下一些问题: ( 1 ) s e r v e r p a g e s 融合了服务器端代码、静态h t m l 和客户端脚本,导致了开 发中逻辑夹杂,人员分工存在问题,而且存在着互相修改代码、维护困难等问题; ( 2 ) s e r v e r p a g e s 由于包含了过多的内容,难以通过一种可视化开发工具进 行开发,导致了整个w e b 开发过程比较缓慢,而且很多是不必要的重复劳动,影 响整个开发进程; ( 3 ) 由于h t m l 表现能力较弱,从而导致数据显示困难、用户不易操作等页面 显示和操作问题; ( 4 ) 服务器端响应逻辑代码的重用性较低,对于不同w e b 开发系统难以移植, 而且配置性比较差,很多代码是固定信息的; ( 5 ) 服务器端响应逻辑代码同样没有可视化开发,开发繁琐; ( 6 ) w e b 开发中几个部分相互对应、交互不够,各自的职能不明确,存在功 能交叉、沟通不便等问题。 以上这些主要问题制约了w e b 开发的速度、可维护性、可重用性及人员分工 等,因此,w e b 开发需要以下一些改变: ( 1 ) 将s e r v e r p a g e s 中的服务器端代码、静态h t m l 和客户端脚本尽量分离, 而且最好由不同的开发人员负责开发。 ( 2 ) 对s e r v e r p a g e s 提供可视化开发工具,针对服务器端代码和静态h t m l 提 供各自的可视化开发,由于客户端脚本实际为一种脚本程序,并无相应的可视化 开发。 ( 3 ) 提供些客户端显示控件,称为客户端u i 组件,用于提高h t m l 本身的表 现能力,方便数据显示和用户操作。 ( 4 ) 提供一种通用的服务器端响应代码的处理方式,使其具有一定的配置性 和重用性,并提供相应的可视化开发工具。 ( 5 ) 将w e b 开发不同部分进行职能划分,对于不同部分加强相互的功能沟通 和融合。 ( 6 ) w e b 开发最好是基于组件的形式,w e b 开发中的不同部分提供各自的组 5 硕士学位论文 第二章高校教务管理系统开发的主要技术 件,然后将这些组件进行对应和交互,完成整个w e b 开发的处理流程。 可以看出,如果通过以上的改变基本上可以解决目前w e b 开发中存在的一些 问题,为了达到以上的w e b 开发的改变,下面本文将就目前w e b 开发的不同方面的 开发技术进行分析,然后比较各种的优缺点,从而提出一种可视化开发的、基于 组件的、重用性高的及易维护的w e b 开发平台。 2 2 基于j 2 e e 框架下的m v cw e b 开发技术 j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 是一个基于j a v a 组件技术的企业 应用系统开发规范,他为不同厂商创建平台产品提供料标准,是不同的j 2 e e 品台产品之间的交互成为可能。j 2 e e 规范定义了一个局域逐渐技术的多层企业 信息系统的标准平台,遵从这个规范的开发者将得到行业的广泛支持,使企业 级应用的开发变得简单、快速。j 2 e e 技术的基础是j a v a 平台或者j a v a 2 平台的 标准版本,j 2 e e 不仅巩固了标准版中的许多优点,像“w r i t eo n e ,r u na n yw h e r e ” 的特点、方便存取各种异种数据库的j d b c 、a p i 、c o r b a 技术以及能够在 i n t e m e t 应用中保护资源的安全模式等,同时还提供了对e j b 、j s p 、x m l 技术 的全面支持。 m v c 模式是一种经典的模式,虽然其起源很早,但是应用很广,是一种普遍 使用的一种开发模式。m v c 模式即为m o d e l ( 模型) 一v i e w ( 视图) - c o n t r o l l e r ( 控制 器) ,m v c 模式将应用程序开发分成三个比较独立的部分,模块间相互比较独立, 具有各自独立的功能。 ( 1 ) m o d e l 指的是具体负责业务逻辑处理的模块,往往是业务流程中的具体 功能的抽象。 ( 2 ) v i e w 指的是面向用户的结果显示及信息输入的模块,用于触发 c o n t r o l l e r ,并通过c o n t r o l l e r 来访问相应的m o d e l 。 ( 3 ) c o n r t o l l e r 贝u 是一种流程控制模块,用于接收v i e w 来的请求,控制业务 逻辑流程,并调用相应的m o d e l 处理,然后根据处理的结果选择相应的v i e w 返回 给用户。 目前的w e b 开发基本上都是基于m v c 的,例如在j 2 e e 框架下的m o d u l e 2 模型如 图2 - 1 所示。 6 硕士学位论文 第二章高校教务管理系统开发的主要技术 图2 - 1m v c 模型 在基于m v c 的w e b 开发中,服务器端响应逻辑代码被分为c o n r t o ll e 和m o d e l , 而s e r v e r p ag e s 贝l j 是v i e w 。在j 2 e e 框架下的m o d u l e 2 模型中,其v i e w 一般是j s p , c o n t r o l l e r 是s e r v l e t ,m o d e l 是e j b 或者j a v a b e a n 。在m o d e l 模型中,v i e w , c o n t r o l l e r 都是一个框架上的概念,其意义在于将不同的层面上的事物分开,具 体v i e w ,c o n t r o l l e r 如何实现及互相交互并没有在模型中体现。因此,具体如何 将基于m v c 的w e b 开发中的c o n t r o l l e r ,v i e w 等实现,是w e b 开发中主要需要关心 的问题。 w e b 开发中的c o n t r o lle r 又称为控制层,其基本的运行过程就是接收客户端 传来的h t t p 请求,然后根据h t t p 请求调用相应的处理模块,根据处理模块的结果 获取到相应的h t m l 文档,最后将h t m l 文档传回客户端。其主要包含如何获取从客 户端提交的数据、将不同请求分发、调用不同的处理模块、根据处理结果返回 h t m l ,其完全是运行在服务器端。 w e b 开发中的v ie w 就是s e r v e r p a g e s ,其基本的运行过程就是服务器先运行服 务器端代码,将运行结果生成相应的h t m l 返回给客户端,在客户端相应的脚本运 行,用于控制和显示数据。其主要涉及文档生成、模板技术h t m l 及j a v a s c r i p t 等技术。 s e r v e r p a g e s 主要由服务器端代码、静态h t m l 和客户端脚本组成,其中通过 客户端脚本和h t m l 相互作用,可以产生类似与c s 模式下的显示控件,这些控件 具有一定的通用性,本文称为这些控件为客户端u l 组件,这样s e r v e r p a g e s 的主 要组成如图2 2 所示。 静态h t m l服务器端代码 客户端u i 组件其他客户端脚本 图2 - 2s e r v e r p a g e s 组成 因此,基于m v c 的w e b 开发又可以主要分为: 7 硕士学位论文第二章高校教务管理系统开发的主要技术 ( 1 ) 控制层的开发 ( 2 ) 客户端u i 组件的开发 ( 3 ) s e r v e r p a g e s 的开发 其中s e v e r p a g e s 的开发需要基于客户端u i 组件的开发。下面先围绕着控制层 技术、客户端u i 组件技术、s e r v e r p a g e s 技术分析一下目前较为广泛使用的技术, 探讨不同技术的存在的优点及相应的问题,然后根据技术分析,明确m v c 的w e b 开发各个部分的各自职能,将不同的w e b 开发部分进行分割和交互,选择相应的 技术,然后形成一个整体的w e b 开发平台。 2 3 控制层技术 2 3 1j 2 e e 控制层技术 控制层技术总的功能就是: ( 1 ) 负责接收客户端发送的请求; ( 2 ) 根据请求的内容调用不同业务逻辑处理; ( 3 ) 将处理结果发送给客户端。 整个控制层技术本身并不复杂,其主要需要考虑的是如何能够将整个处理过 程可以配置化、便于维护修改。传统的开发方式中,控制层是最为模糊的一块, 其将整个控制逻辑嵌入到了其他部分,造成了开发混乱、逻辑夹杂、不易维护。 所以,在j 2 e e 框架下,提出了一些相应的控制层技术,下面主要介绍一下s t r u t s 技术。 在j 2 e e 框架下,s t r u t s 是目前最为广泛使用的一种控制层模型。其基本思 想是将h t t p 请求中的数据封装成为一个a c t i o n f o r m ,然后调用相应的 a c t i o n ,a c t i o n 读取相应填充完毕的a c t i o n f o r m 数据,最后根据当前结果导向到 相应的服务器页面。其中s t r u t s c o n f i g x m l 配置文件维护了一个h t t p 请求、 a c t i o n f o r m ,a c t i o n 导向服务器页面之间的映射关系。从图2 3 中可以看出s t r u t s 主要由a c t i o n s e r v l e t ,a c t i o n ,a c t i o n f o r m ,s t r u t s c o n f i g x m l 等组成。 8 硕士学位论文 第二章高校教务管理系统开发的主要技术 图2 - 3s t r u t s 模型 a c t i o nf o r m 用于封装客户端提交的数据,实际上就是一个j a v a b e a n ,有属 性上的g e t t e r s e t t e 方法,其在客户端页面中f o r m 中可以如下: 。通过指定相应类对象及相应属 性,当f o r m 提交数据后,a c t i o n f o r m 可以自动利用请求参数来填充自己。a c t i o n 用于调用相应的业务逻辑,开发人员需要继承a c t i o n 来完成相应的业务逻辑调 用,其主要接口为e x e c u t e ,接口中包含a c t i o n f o r m ,r e q u e s t ,r e s p o n s 等对象, a c t i o n 处理完毕返回一个a c t i o n f o r w a r d 对象。 a c t i o ns e r v l e t 是s t r u t s 中控制中心,负责整个控制过程。其首先进行初始 化工作,载入s t r u t s - c o n f i g x m l 配置内容:当接收到一个h t t p 请求,根据配置信 息查找到对应的a c t i o n 类,找到相应的a c t i o n 后,会先填充对应的a c t i o n f o r m b e a n ,而且可以使用v a l i d a t e 方法来检查请求参数的合法性,并且可以返回 一个包含所有错误信息的a c t i o n e r r o r s 对象。如果填充和验证成功,a c t i o nf o r m 自动将这些参数信息以j a v a b e a n ( 一般称之为f o r m b e a n ) 的方式保存在s e r v l e t c o n t e x t 中,这样它们就可以被其它a c t i o n 对象或者j s p 调用。然后调用相应的 a c t i o n ,a c t i o n 主要执行相应的业务逻辑处理。执行完后,a c t i o n s e r v l e t 根据返 回的a c t i o n f o r w a r d 对象,跳转到相应的v i e w 页面。以上便是整个s t r u t s 的主要 工作原理和工作流程,其优势是: ( 1 ) 将控制层逻辑独立了出来; ( 2 ) 使得控制层具有了一定的可配置性,提高了维护性; ( 3 ) 可以提供相应的可视化开发,提高了开发效率。 其不足在于: ( 1 ) 一个请求对应一个a c t i o n ,ac t i o n 很容易过多,而且a c t i o n 本身也没有 任何可重用性可言; ( 2 ) 其目前对客户端显示组件的支持不够。 9 硕士学位论文 第二章高校教务管理系统开发的主要技术 2 3 2 控制层的职能和技术选择 在j 2 e e 架构下,很多其他技术也提供了相应的控制层技术,例如:s p r i n g , w e b w o r k ,t a p e s t r y ,j s f 等等,这些技术本身将m v c 模型中各个部分更加紧密的 融合在一起,并非是一个单独的控制层技术,这里就不再赘述。 基于以上技术分析和考虑,对控制层的职能有以下的一些要求: ( 1 ) 具体职能依然是处理请求的分发; ( 2 ) 能使类_ f p a a c t i o n 的功能模块有一定的重用性; ( 3 ) 整个控制流程能够可以定制。 因此,我们并没有选择s t r u t s 作为控制层的开发技术,而提出了一种控制 层模型,这种模型借鉴了责任链的思想,一个请求对应着一个流程,一个总的分 发器负责将请求发送给一个流程,而一个流程中则包含了一系列的节点,这些节 点被配置在这个流程中。这样,首先整个控制流程可以定制的,而由于包含了一 系列的节点,这样这些节点的粒度可以很小,而且节点本身也是可以配置,很大 程度上提供了可重用性,为w e b 开发平台利用组件的方式开发提供了基础。因此, 教务管理系统的控制层模型就采用了这种技术。 2 4 客户端ui 技术 所谓客户端u i 即指的是呈现给用户的界面,也就是u s e r i n t e r f a c e 。在基于 w e b 的开发系统中,客户端u i 是通过h t m l 显示给用户;就h t m l 本身来讲,其当初 仅仅是用作文档发布来使用的,使用h t m l 来做客户端u i 并不是其本意,随着基于 w e b 的应用系统的应用需要的发展,仅仅简单的文本显示越来越无法满足客户的 需要。因此,在w e b 开发中,客户端u i 一直是令开发人员比较头疼的事情。迫于应 用系统的需要压力,出现了一系列的客户端u i 解决技术口这些技术按照是否是 纯h t m l ,分为瘦客户端技术和胖客户端技术;而瘦客户端技术又可以按照是否是 完全脚本控制,分为纯脚本技术和服务器端动态生成h t m l 的技术;其中,服务器 端动态生成h t m l 技术实际上将界面的开发和设计工作放在了服务器端完成。 1 9 9 5 年1 2 ) 弓n e t s c a p e 发布其j a v a s c r i p t ,这样就可以在客户端编写相应的脚 本程序,生成一些动态的内容。1 9 9 7 年,m i c r o s o f t 发布了i e4 0 ,并将动态h t m l 标记、c s s 和动态对象模型( d h t 札o b j e c t m o d e l ) 发展成了一套完整、实用、高效 的客户端开发技术体系,m i c r o s o f t 称其为d h t m l 。这样,m 地基本上可以利用 j a v a s c r i p t 及d h t m l 来设计客户端的u i ,这是纯脚本技术的技术基础。纯脚本技 术的优缺点如下: ( 1 ) 其优势是服务器端无需考虑客户端的显示效果,只需要提供客户端所需 l o 硕士学位论文 第二章高校教务管理系统开发的主要技术 要的数据。 ( 2 ) 其劣势是受限于效率、浏览器的种类和版本。 服务器端动态生成h t m l 技术也被一些开发商选用,其通过客户端发出的u i 事件请求,在后台生成相应的h t m l ,然后返回到客户端,这样具体u i 的动态变化 和控制基本上都是由服务器端开发人员控制,其需要在服务器端编写相应的事件 相应函数,其捕捉客户端发送的具体事件请求,根据当前提供的数据生成相应的 显示h t m l ,完成u i 的相应功能。在j e e e 框架下,典型的例子就是j s p 。 服务器端动态生成技术的优缺点如下: ( 1 ) 其优势是在于能够很少的使用d h t m l ,没有相应的浏览器的约束,没有 效率影响。 ( 2 ) 其劣势是在于需要编写复杂的代码控$ 1 h t m l ,而且客户端做相应的事件 请求时会导致页面更新,也就是说一个u i 点击事件就有可能会引发页面刷新。 胖客户端技术主要是一些类似插件技术,例如:j a v a h p p l e t ,f l a s h 等。胖 客户端技术的优势在于表现能力强大,编写简单,运行高效。其不足也很明显: 由于不是h t m l ,部分受限于浏览器;不易存储成文本格式;不利于基于文本的搜 索、拷贝;插件本身需要下载。其不足关键在于其本身不是一种文本格式,从而 很难与其他基于文本的文档进行交互,从这一点上来说,影响了其通用性,只能 适合一些比较特定的情况。 2 4 1b in d o w s 技术 顾名思义,b i n d o w s h p b r o w s e r w i n d o w s 的含义,其是一个基j s ( j a v a s c r i p t ) 脚本和x m l 的客户端u i 组件系统,这种方式被称为j s + x m l h t t p ,j s 用来表示客户 端u i ,d t l 作为数据载体,用于从后台服务器获取数据;j s p 从x m l 文件中解析获取 数据,然后对读取的数据进行处理,表示为相应的客户端u i 。这是b i n d o w s 的基 础技术。因此,基于b i n d o w s 的开发来说,实际上就是开发相应的x m l 文件和基于 已有的u i 的a p i 编程。 先看一下b i n d o w s 的基于j s 的u i 组件。b i n d o w s 的u i 组件本身是按照面向对象 的方式进行组建的,其对象之间有着较强的各种继承关系,形成了比较完备的面 向对象的体系结构,其主要对象间的大致框架可以如图2 4 所示: 硕士学位论文第二章高校教务管理系统开发的主要技术 图2 - 4i j i 组件体系结构 在其类图中可以看出,其主要存在三大类对象,一种是b i e v e n t 对象,这类 对象定义了组件间的事件关系:另一种是b i c o m p o n e t 对象,这类对象定义一系列 的u i 组件,它们内部之间也有着相应的继承关系,用于完成特定的界面u i ;最后 一种就是其他一些类,这些类对象主要作用是读取x m l 的数据、提供相应的数据 模型、提供一些辅助作用等,例如b i t r e e v i e w d a t a m o d e l 。这些对象共同作用起 来完成b i n d o w s 在j s 的u i 的作用。 b i n d o w s 通过装载x m l 数据,在页面上形成特定的u i 组件,然后可能还需要 根据x m l 中包含的相应的脚本代码,对u i 组件进行进一步的处理,从而完成了对 页面上u i 的构建。其事件响应、外观变化基本上都是通过u i 本身处理,不需要通 过后台服务器处理,这种方式有些类似“拉 数据方式,而不是像服务器端生成 动态h t m l 的方式,这种方式更类似“推 数据方式,由数据提供方主动提供各种 数据。其u i 组件主要包括了:选择框、菜单、表格、树、对话框、列表、t a b 页等。其平台要求是:i e m o z i l l a n e t s c a p e 7 f i r e f o x 等,就其支持的浏览器来 说,主流浏览器大部分都支持,其版本要求略高。就其运行效率来讲,真正需要 考虑效率的往往是大量的数据列表等,也就是表格、树和列表:对于大数据量列 表来说,b i n d o w s 提供了“滚动刷新刀的方式,也就是说组件仅显示当前可以看 得到的数据,当看其他数据,组件再将其他数据显示出来:就大数据量的传输来 说,其实可以通过延时加载完成,这样基本上没有任何效率问题。当然,b i n d o j s 也存在着相应的很多问题,其中有以下的一些问题是比较严重的: ( 1 ) 由于是基于类继承的关系,往往要完成一个u i 应用需要将很多类进行加 载,在一定程度上影响了效率; ( 2 ) 基于类继承在一定程度上影响了部分控件的执行效率; ( 3 ) u i 组件还不是足够强大,欠缺一些其他产品具有的组合控件,方便程度 1 2 硕士学位论文第二章高校教务管理系统开发的主要技术 还是不够,例如:选择框、多层树型表格等。 因此。总的来说b i n d o w s 还是一种比较成功的客户端u i 系统,它基本上将在 c s 模式下可以使用到的控件都对应的移植至r j t b s 模式下,而且从表现来看,是 很成功的,其对浏览器的支持来说,主流的浏览器基本上都可以满足。所以其发 展前景还是不错的,但是每次加载的效率影响、没有其他产品的组合控件还是其 一个很大的劣势:不过其产品反映了,利用纯脚本开发客户端u i 是可以达到并可 以将功能完成的很好。 2 4 2j s f 技术 所谓服务器端动态生成h t m l ,即指的是通过客户端的请求来获取到当前界面 上的一些状态数据,然后根据这些数据生成相应需要输出的界面的h t m l ,返回到 客户端,其中在j 2 e e 框架下,j s f ( j a v as e r v e rf a c e s ) 是其中代表的技术。 服务器端动态生成h t m l 具有页面控制简单、不受浏览器约束等优势,不足在 于需要编写相应的组件,及开发人员需要编写相应的事件响应函数。下面就概要 介绍一下j s f 技术。j s f 是s u n 公司在j c p ( j a v ac o m u n i t yp r o c e s s ) 下倡导的技术, 其目的是为w e b 应用的用户界面创立标准的框架。其基本过程是: ( 1 ) 将客户端u i 的事件触发发送到服务器端; ( 2 ) 服务器端获取该u i 的事件请求,然后执行当前在服务器端的这个u i 事件 对应的响应函数; ( 3 ) 函数处理完毕后,调用相应r e n d e :将处理结果通过h t m l 发送给客户端, 这里r e n d e r 也可以产生其他的标记语言j s f 的运行流程如图2 - 5 。 客户端 响应 图2 - 5j s 隧行流程图 j s f 主要由以下一些部分组成: ( 1 ) u 1 组件对应的t a g li b , ( 2 ) u i 组件对应的r e n d e r 类; ( 3 ) u 1 组件对应的服务器端数据模型类; ( 4 ) e v e n t h a n d le r ,v a lid a tio n 等; 1 3 硕士学位论文第二章高校教务管理系统开发的主要技术 ( 5 ) e v e n t h a n d l e r 和v a l i d a t i o n 对应的t a g l i b 。 从以上可以看出,j s f 提供了一种比较强大的客户端u i 开发方式,其优势是: ( 1 ) 可以像s w i n g 一样的采用面向对象的方式来开发w e b 应用,开发人员只需 要通过开发服务器端的响应事件,就可以操纵w e b 端的u i ; ( 2 ) 可扩展的u 1 组件模型,可以利用j s f 现有的u i 组件来开发更为复杂的组 件; ( 3 ) 灵活的表现模型,r e n d e r 可以产生不同的输出,可以用于不同的设备, 可以看作一种“显示 中间件; ( 4 ) 有着相应的验证功能。 其主要劣势在于: ( 1 ) 客户端和服务器端交互略微频繁,通常客户端的一些小变动,就会导致 页面一次提交; ( 2 ) 目前其和传统的开发方式相反,传统的开发方式下的开发人员不一定会 很快接受j s f

温馨提示

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

评论

0/150

提交评论