(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf_第1页
(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf_第2页
(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf_第3页
(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf_第4页
(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)ssh框架实验教学管理研究.pdf.pdf 免费下载

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

文档简介

太原理工大学硕士学位论文 s s h 框架实验教学管理研究 摘要 随着计算机网络技术的发展,使得教学方式由传统的校内教学向网上 教学延伸。实验教学管理平台给网上教学活动提供了一个基本的运行环境, 人们可以在网络环境下实现信息服务与资源共享。开发实验教学管理平台, 将大大促进各个学科教学活动的进行,同时也适应了社会发展的需要。 传统的j 2 e e 框架是以e j b 为核心容器,由于e j b 部署过于复杂,使得传 统基于j 2 e e 框架的应用开发成本很高。s p r i n g 框架是一个轻量级应用框架, s t r u t s 是m v c 设计模式的优秀框架,h i b e r n a t e 是o r m 映射的解决方案。a c e g i 是一个基于s p r i n gf r a m e w o r k 的安全框架,被广泛用于为s p r i n g 应用程序提 供全面的安全服务。s s h 框架将s t r u t s 、s p r i n g 、h i b e r n a t e 框架良好的整合起 来,使用s t r u t s 作为表示层框架,s p r i n g 作为业务逻辑层框架,h i b e r n a t e 作 为持久化层框架。 对实际教学活动进行分析与调查,做了大量的问卷调查,详细分析了 师生的教学需求。实验教学管理平台分为两个功能区:前台功能区和后台 管理区。前台功能区主要实现用户查看平台公告信息;访问平台的教学资 源;参与教学讨论等功能。后台管理区主要实现教师提交教学资源;管理 员对教学资源和平台信息的管理,以及用户权限的分配。通过功能模块图 与用例图详细分析了各个模块的实现功能,并给出主要功能的逻辑处理类 文件、页面j s p 文件与核心接口的业务处理方法,用户可以更清晰地了解平 台整体结构与功能实现。 实验教学管理平台基于s s h 轻量级框架搭建,使用t o m c a t 作为w e b 应用 服务器,基于a c e g i 安全框架实现安全机制,用户请求只有通过认证与授权 机制的检查后,才可以访问到系统中受保护的资源,以保证平台可以稳定 安全的运行。平台为学生提供充足的教学课件与实验资源,使学生能通过 实验来加深对理论的理解,提供了师生互动功能,增强了教学效果。 本文首先分析了传统的j 2 e e 框架的弊端,详细介绍s t r u t s 、s p r i n g 、 h i b e r n a t e 、a c e g i 轻量级框架各自的优缺点,分析s s h 框架的总体设计、详 细设计;然后详细分析了实验教学管理平台的需求分析与平台的整体结构 太原理l :人学硕十学位论文 流程,并通过时序图进一步解释了表示层、业务逻辑层、持久化层与安全机 制的设计方案;最后介绍平台的运行环境与开发工具,以实验类为例子, 详细分析了平台的实现过程,介绍扩h 差a c e g i 安全框架的方法,以满足刚户 动态改变权限分配的要求;并使用s p r i n g 的声明式事务框架对平台的事务进 行管理,使得开发人员可以更加专注于业务逻辑开发工作,加快开发效率。 关键字:s p r i n g ,a o p ,a c e g i ,实验平台 i i 太原理工大学硕士学位论文 r e s e a r c ho ne x p e i u m e n tt e a c h i n g m a n a g e m e n tb ys s hs t r u c t u r e a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r k t e c h n o l o g y ,m a k i n gt h et r a d i t i o n a l t e a c h i n gm e t h o d si ns c h o o l sf r o mt e a c h i n gt ot h ee x t e n s i o no fn e t w o r kt e a c h i n g e x p e r i m e n tt e a c h i n gm a n a g e m e n tp l a t f o r mp r o v i d e d ab a s i c o p e r a t i n g e n v i r o n m e n to i ln e t w o r k l e a r n i n g ,i t c a nb ei nt h en e t w o r ke n v i r o n m e n t i n f o r m a t i o ns e r v i c e sa n dt h e s h a r i n go fr e s o u r c e s d e v e l o p m e n te x p e r i m e n t t e a c h i n gm a n a g e m e n tp l a t f o r m ,w e w o u l d g r e a t l y f a c i l i t a t et h e t e a c h i n g a c t i v i t i e so ft h ev a r i o u sd i s c i p l i n e s ,b u ta l s oa d a p t e dt ot h en e e d so fs o c i a l d e v e l o p m e n t t h et r a d i t i o n a lj 2 e ef r a m e w o r kw h o s ec o r ep o i n ti se j b h o w e v e r , e j bi s d e p l o y e dt o oc o m p l e x ,s ow eu s et h et r a d i t i o n a lj 2 e ef r a m e w o r kt od e v e l o p e n t e r p r i s ea p p l i c a t i o nt o c o s tt o om u c ht o d e v e l o p s p r i n gf r a m e w o r ki s l i g h t w e i g h tf r a m e w o r k s ,s t r u t si s a ne x c e l l e n t a p p l i c a t i o n f r a m e w o r kt o i m p l e m e n t i n gm v cp a t t e r n ,h i b e r n a t e i sak i n do fs o l u t i o no r m a c e g i s e c u r i t yf r a m e w o r k b a s e do nt h es p r i n gf r a m e w o r k a c e g ip r o v i d es e c u r i t y m e c h a n i s mf o rt h es p r i n ga p p l i c a t i o ns y s t e m s s hf r a m e w o r ki n t e g r a t es t r u t s , s p r i n ga n dh i b e r n a t eo r g a n i c s t r u t sf r a m e w o r ki sa sp r e s e n t a t i o nl a y e r , s p r i n g f r a m e w o r ki sa st h eb u s i n e s sl o g i cl a y e r , h i b e r n a t ei sa st h ed a t ap e r s i s t e n c e l a y e r t h r o u g ht h ea c t u a lt e a c h i n g a c t i v i t i e s a n a l y s i sa n di n v e s t i g a t i o n ,w e a n a l y s et h et e a c h i n gn e e d sf o rt e a c h e r sa n ds t u d e n t s e x p e r i m e n tt e a c h i n g m a n a g e m e n tp l a t f o r mi sd i v i d e di n t ot w of u n c t i o n a la r e a s :f u n c t i o n a la r e a sa n d m a n a g ea r e a s f u n c t i o n a la r e a sm a i n l ya c h i e v eu s e rt ov i e wp l a t f o r m n o t i c e i n f o r m a t i o n ,a c c e s sp l a t f o r mt e a c h i n gr e s o u r c e s ,p a r t i c i p a t ei nt h ed i s c u s s i o no f t e a c h i n g m a n a g e a r e a s a c h i e v et e a c h e r r e f e r r i n g t e a c h i n g r e s o u r c e s ,a d m i n i s t r a t o ra d m i n i n gt e a c h i n gr e s o u r c e sa n d p l a t f o r m n o t i c e t 1 1 i n f o n n a t i o n ,a sw e l la st h ea l l o c a t i o no f u s e ra u t h o r i z a t i o n t h r o u g hf u n c t i o n a l m o d u l e sm a pa n du s ec a s ed i a g r a m ,w ea n a l y z eo ft h ev a r i o u sm o d u l e so f f u n c t i o n a li t y ,a n dp r o v i d ec la s sd o c u m e n t s ,j s pp a g e sa n db u s in e s sa p p r o a c ho f t h ec o r ei n t e r f a c e u s e r sc a nb em o r ec l e a ru n d e r s t a n d i n go ft h ew h o l es t r u c t u r e a n dp l a t f o r mf e a t u r e s e x p e r i m e n tt e a c h i n gm a n a g e m e n tp l a t f o r m i sb u i l to ns s hl i g h t w e i g h t f a m e w o r l ( s 。t o m c a ti su s e da sw e ba p p l i c a t i o ns e r v e r s a f e t ym e c h a n i s mi s b a s e do na c e g is e c u r i t yf r a m e w o r k ,t h er e q u e s t o fu s e r so n l yt h r o u g h a u t h e n t i c a t i o na n da u t h o r i z a t i o nm e c h a n i s m sb e f o r et h e yc a nv i s i tt h ep r o t e c t e d s y s t e mr e s o u r c e s p l a t f o r mp r o v i d ea b u n d a n tt e a c h i n ge x p e r i m e n tr e s o u r c e ,s o t h a ts t u d e n t sc a ne x p e r i m e n tt od e e p e nt h eu n d e r s t a n d i n g o ft h et h e o r y p i a t f o r ma l s op r o v i d et e a c h e r s t u d e n ti n t e r a c t i o n ,i n c r e a s et h ee f f e c t i v e n e s so f t e a c h i n g f i r s t l y , t h ea r t i c l ea n a l y z es h o r t c o m i n go ft h ej 2 e ef r a m e w o r k ,i n t r o d u c e r e s p e c t i v ea d v a n t a g e sa n dd i s a d v a n t a g e sa n dc o r eg r o u p w a r eo f s t r u t s ,s p r i n g , h i b e m a t e , a c e g i ,a n a l y z eo v e r a l ld e s i g n a n dd e t a i l e dd e s i g no fs s h t h e n a r t i c l ea n a l y z en e e d sa n do v e r a l ls t r u c t u r eo fp r o c e s so fp l a t f o r m ,u s et i m i n g d i a g r a m sf u r t h e r t o e x p l a i nd e s i g no p t i o n s f o rt h e p r e s e n t a t i o nl a y e r t h e b u s i n e s sl o g i cl a y e r t h ed a t ap e r s i s t e n c el a y e rf i n a l l y ,a r t i c l ei n t r o d u c et h e p l a t f o r m so p e r a t i n ge n v i r o n m e n ta n dd e v e l o p m e n tt o o l s ,u s e a ne x a m p l eo f o b j e c t st oa n a l y z ei m p l e m e n t a t i o no fp l a t f o r m a r t i c l ei n t r o d u c ee x p a n s i o no f a c e g is e c u r i t y f r a m e w o r ka p p r o a c ht os a t i s f y u s e r sd y n a m i c a l l yc h a n g i n g a u t h o r i z a t i o na l l o c a t i o n u s i n gs p r i n gs t a t e m e n t t r a n s a c t i o nf r a m e w o r kt o m a n a g ep l a t f o r mt r a n s a c t i o n ,d e v e l o p e r sc a nf o c u so nt h ed e v e l o p m e n to f t h e b u s i n e s sl o g i ca n ds p e e du pt h ed e v e l o p m e n te f f i c i e n c y k e yw o r d s :s p r i n g ,a o p ,a c e g i ,e x p e r i m e n tp l a t f o r m 声明户明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:囱i 盘垩日期:圭q 盟:至丛 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为:目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) 。 签名:卫l1 一| 导师签名: 太原理工大学硕士学位论文 1 1 课题研究背景 第一章绪论 随着网络技术的不断发展,传统的面授教育模式受到地理空间、教师人数与其它资 源短缺等因素的限制,己远远不能满足当今社会教育的需要。i n t e m e t 的不断发展与普及, 为改革教育模式提供了契机,网络教学势必成为一种相当重要的知识传播途径。网络教 学作为一种新的教学方式,是教学形式的一场革命,很好地满足了时代对人才培养的需 要。实验教学管理平台就是用w e b 技术对网络上的各种教育资源进行管理和使用,是以 学习者为主的自主学习环境,人们可以在网络环境下,不受时间和空间的限制,完成“随 时、随地交互 的教学活动。实验教学管理平台利用多媒体技术和网络技术使得教学材 料可以生动的展示出来,并且有很强的互动性和灵活性,使得学生可以自主式的学习, 增强了教学效果,提高了教学质量。 相对于传统的教学形式而言,利用实验教学管理平台丌展教学具有以下一些优势: ( 1 ) 教学活动不受时间、地域的限制可以随时随地进行。网络作为传输信息的载 体,突破了地理区域的限制,是一个开放的系统。用户只要接入教学网络,就可以使用 网上的各种教学资源。学生在学习过程中享有充分的灵活性,他们可以选择自己方便的 时间和地点上网学习,并且还可以自己安排学习进度。 ( 2 ) 实验教学管理平台准备丰富的文本、图形、视频、音频等多种媒体数据、实 验资料、课件资料使得学生可以通过实验平台的学习,亲自动手做实验,从而加深对理 论知识的理解,同时实验平台可以及时提供优秀专家的教学内容,使得资源可以共享, 方便学生学习。 ( 3 ) 网络教学可以使教师及时地发布信息、上传课件;学生可以方便地下载最新 的学习数据,把合理的建议和问题回馈给老师,加强了师生之间的交流,提高了学习效 率。 本课题从太原理工大学计算机与软件学院的实际教学活动出发,设计开发一个以培 养学生自主学习能力为特色的、功能齐全并且具有良好安全认证机制、平稳运行的实验 教学管理平台。在实验平台设计与应用中都自始至终贯穿教师为主导、学生为主体的教 学思想,在教学活动中渗透学生自主学习能力培养的策略,使学生能积极参与互动、主 太原理【:人学硕十学位论文 动学习知识,及时获得老师的指导,充分体现网络教学的优势。 1 2 国内外相关研究与应用的现状 网络教学的真正发展是在上世纪8 0 年代末期才开始的,最初是在一些计算机网络比 较发达的国家,如美国、加拿大等。早期网络教学的研究都是为了满足教学的需要,大 约是在1 9 9 6 年底1 9 9 7 年初才开始出现支持校园内网络教学的软件平台,近年来教学平台 得到了很大的发展。目前,国际上有影响的平台有:w e bc t 、b 1 a c k b o a r d 等。 ( 1 ) w e bc t 是山加拿大b r i t i s hc o l u m b i a i l 算机系丌发,主要用于课程丌发与联 机教学内容发布。它能够与课程教学结合,提供了辅助课程管理的工具,包括安全控制、 数据管理、数据备份等多项功能。w e bc t 采用w 曲浏览器模式,由a p a c h ew 曲服务器 软件、预编译的可执行p e r l 脚本c g i 、预编译的可执行聊天服务器、聊天j a v a a p p l e t 和数据文件组成。 ( 2 ) b l a c k b o a r dl e a r n i n gs y s t e m 在线教学管理系统由b 1 a c k b o a r d 公司丌发,它所 提供的学习平台是目前市场上唯一支持百万级用户的教学平台,它被广泛认为是业界领 先的课程主导型管理系统。平台以课程为中心集成网络环境。教师可以在平台上丌设网 络课程,学习者可以自主选择要学习的课程。它为教师,学生提供了强大的施教和学习 的网上虚拟环境,可以根据课程学习需要进行个性化定制。 国内学术和教育界在最近几年也丌始致力于引进和丌发网络教学平台。在引进方 面,主要是e y o u 公司引进的中文版的w e bc t 和c e r n e t 于2 0 0 3 年1 0 月与b l a c k b o a r d 公 司共同投资组建赛尔毕博有限公司( c e r n e t - b l a c k b o a r d ) ,负责中文版b l a c k b o a r d 的丌发 和推广。同时,一些本土公司和高校正在积极丌发自己的网络教学平台。比如:安博网 络教学平台、天空教室网络教学系统、清华网络学掌和北京大学网络教学平台等。 我国教学平台的研究和开发在国家的大力支持下,有了很大的发展。但是依然存在 着一些问题: ( 1 ) 现有的不同网络教学平台往往是由不同的公司、学校自行设计开发的,使用 不同的开发工具和数据库,而且采用的数据结构设计也不相同,这使得在不同教学平台 之问难以进行数据交换,不能跨平台充分利用和共享网络教学资源。 ( 2 ) 由于不同的教学平台基于不同的专业知识,有重点讲授生物知识的平台、讲 授医学知识的平台。不同专业的差别很大,很难制订构建网络教学平台的统一规范或标 准,因此面临着平台的重复开发所造成的浪费。 ( 3 ) 现有的教学平台多以呈现教学材料为主,只起到“知识展示”的效果,缺乏 2 太原理工大学硕十学位论文 对学生教学实验的设计和指导,缺乏师生的交互性。 1 3 本平台设计的目标 通过对太原理工大学计算机与软件学院的实际教学活动的分析与调查,认为一个实 验教学管理平台应当为教学活动提供尽可能完善的服务,包括:应为学生提供具有良好 交互式的学习环境,提供充足的学习资源,使学生能通过实验来加深对理论的理解;学 生应该及时获得教师的指导,并且可以将自己的意见及时回馈给老师;具有功能齐全、 操作简单、界面友好、可扩展性等特性;具有良好的安全机制,在身份认证、数据库管 理等环节采用严格的安全措施,保证实验平台可以稳定的运行。 1 4 本文的主要研究工作和论文组织结构 在研究分析国内外相关教学平台现状的基础上,构建基于轻量级j 2 e e 架构的实验教 学管理平台系统。实验平台采用b r o w s e r s e r v e r 模式的三层体系架构,利用w e b 技术向用 户提供标准的客户端界面,具体实施方案以e c l i p s e 作为平台丌发环境,采用s s h ( s t r u t s s p r i n g - h i b e m a t e ) 轻量级框架,使用t o m c a t 作f f - , j w e b 应用服务器,s q ls e r v e r 2 0 0 0 数据库为后台数据库。 实验教学管理平台主要的实现功能有:用户权限的分配、平台信息公告、实验管理、 课件管理、作业管理、个人信息管理、教学讨论区、教学论坛、短信管理、留言本站等。 整个平台具有良好的可扩展性与维护性,便于随着教学内容的增多而对系统进行扩展与 升级。 论文章节安排工作如下: 第一章:绪论。论文的绪论部分主要介绍了本课题研究背景、国内外相关研究与应 用的现状,以及实验平台的设计目标。 第二章:w e b 应用框架分析。论文的第二章主要介绍了传统j 2 e e 框架的弊端、轻量 级框架特点;并详细分析t s t r u t s 框架、m v c 设计模式、s p r i n g 框架,h i b e r n a t e 框架与 a c e g i 安全框架的优缺点。 第三章:s s h 框架分析。论文第三章主要分析了s s h 框架的总体设计以及详细设计。 第四章:实验教学管理平台的分析与设计。论文第四章主要介绍了平台需求分析、 系统功能概述、平台系统设计、平台整体结构流程、平台详细设计以及安全机制的设计。 第五章:实验教学管理平台的实现。论文第血章主要介绍了系统运行环境和丌发工 3 太原理i :人学硕+ ! 学位论文 具、平台分层设计、平台安全机制的实现以及平台事务管理与测试工作。 第六章:总结和展望。论文第六章介绍了论文所做的工作,以及些需要今后改进 的地方。 4 太原理工大学硕士学位论文 第二章w e b 应用框架分析 本章选取了当今广泛使用的三个轻量级框架s t r u t s 、s p r i n g 、h i b e r n a t e 进行分析,介 绍其各自的原理和优势。并介宝f l a c e g i 安全框架,分析a c e g i 框架安全机制的设计。 2 1 传统j 2 e e 框架弊端 j 2 e e 是s u n 公司推出的一种利用j a v a 语言来进行企业级应用系统开发、部署相关复 杂问题的体系结构【l 】。j 2 e e 是一种技术规范,它给开发人员提供了一种部署和运行的 平刽2 1 。在这个体系结构中,底层的服务问题( 事务管理、安全机制、网络数据传输) 由j 2 e e 应用服务器来完成,开发人员的注意力仅仅集中在业务逻辑的丌发上,从而减轻 了开发人员的负担。 j 2 e e 平台是一个由多个厂商提供服务、集成开发出的企业级应用产品【3 1 ,然而这个 平台并不是所有用户需求都满足的,其中的e j b 容器存在一些不足【4 】。各大容器厂商为 了赢得竞争,纷纷都对e j b 标准进行了扩展,这就使得应用程序在不同服务器之间部署 差别很大,可移植性也不好。e j b 具有如下缺点: ( 1 ) e j b 模型过于复杂,部署描述复杂而且容易出错,虽然设想是降低设计复杂 度、方便地实现业务逻辑,但实际上在这方面它并没有成功【5 】。 ( 2 ) e j b 本来是为内部分布式的事务性应用程序设计的,但是几乎所有重要的应 用程序都是事务性的,而分布式不应该成为基本组件模型的组成部分【6 】。 可见在很多的实际项目中运用e j b 等重量级j 2 e e 框架并不是首选,为了降低j 2 e e 丌 发的复杂性,开发人员不断寻找更简单的e j b 替代品,使丌发人员可以构建一种轻量级 的w e b 框架。所以轻量级框架应运而生,使得j 2 e e 的丌发朝着简单的方向发展。 2 2 轻量级框架的特点 轻量级框架是相对于重量级框架比较而言的,重量级的典型代表就是e j b 。轻量级 框架可以很好地解决e j b 容器所带来的缺陷,并且融入了新的模式为应用程序的开发提 供更加灵活的服务。 相对于传统重量级框架来说,轻量级框架具有如下特剧7 】: ( 1 ) 轻量级框架不强迫丌发人员使用指定的编程模型,它鼓励人们使用p o j o ( p l a i n 5 太原理i :人学硕十学位论文 o l dj a v ao b j e c t 基本j a v a 对象) ,再将p o j 0 与对象模型绑在一起,这样使应用程序不依 赖于特定的容器,提高了丌发调试效率和移植性。 ( 2 ) 轻量级框架将业务逻辑处理或者其它对象注入某个p o j o ,创建和管理所有对 象实例,使得所有p o j o 的实现最大化的松耦合。 2 3s t r u t s 框架研究 随着w e b 丌发技术的同益成熟,在w e b 开发领域出现了很多设计良好、方便实用的 软件丌发框架,s t r u t s 就是一种基于m v c ( m o d e l v i e w c o n t r o l l e r ) 设计模式的框架。s t r u t s 继承了m v c 模式的各种特性,并根据j 2 e e 技术的发展作了相应的变化和扩展,并很好 地帮助j a v a 开发人员开发w e b 层。 2 3 1m v c 设计模式 m v c 架构模式f l j x e r o x 公司在1 9 8 0 年提出,主要用于处理用户界面丌发中存在的问 题。m v c 包含三类对象, 叩m o d e l 对象、v i e w 界面显示对象、c o n t r o l l e r 控$ u 逻辑业务处 理的流程。 m v c 体系结构如图2 1 所示: 图2 - 1m v c 体系结构【8 】 f i g u m2 - 1m v cs t r u c t u r e m v c 核心思想是将整个程序的流程代码分成相对独立而又能相互协同的三个组成 部分,其目的就是实现w e b 系统的职能分离,降低系统的复杂度与维护难度。m v c 将应 用程序划分为业务逻辑层、表示层、控制层。 一6 太原理工大学硕士学位论文 ( 1 ) m o d e l 业务逻辑层,实现具体的业务逻辑、状态管理,包含应用程序的核心功 能,封装了应用程序的状态。 ( 2 ) v i e w 表示层,即程序与用户实现交互的界面,提供模型的表示。 ( 3 ) c o n t r o l l e r 控制层,起到控制业务流程的作用,实现m o d e l 与v i e w 的协同工作, 并对用户的输入做出反应。 2 3 2s t r u t s 体系结构 s t r u t s 是a p a c h e 软件基金下j a k a r t a 项目的一部分。s t r u t s 继承了m v c 设计模式的特 性,使得我们使用s t r u t s 时可以将业务逻辑层和表示层进行分离。s t r u t s 为w e b 应用提供 了通用的框架,使得开发人员可以将主要精力集中在解决逻辑问题上。 s t r u t s 作为m v c 设计模式的一种体现,s t r u t s 构架实际上是建立在m v c 设计模式基础 上的,对m o d e l ,v i e w 和c o n t r o l l e r 都提供了现成的实现组件。s t r u t s 体系结构如图2 2 所 示: 图2 - 2s t r u t s 体系结构【9 】 f i g u r e2 - 2s t r u t ss t r u c t u r e 上图从m v c 角度显示了s t r u t s 构架的核心组件。 ( 1 ) m o d e l 部分:在s t r u t s 框架中使用j a v a b e a n 来提供具体的业务逻辑,这种业务逻 辑可以增强代码的可重用性。 ( 2 ) v i e w 部分:s t r u t s 的v i e w 部分采用j s p 来实现,此# b s t r u t s 还提供了丰富的自定 义标签库,v i e w 部分使用这些自定义标签同样可以实现与m o d e l 部分的有效交互并增强 显示功能。 7 太原理ji :火学硕十学位论文 ( 3 ) c o n t r o l l e r 部分:s t r u t s 的c o n t r o l l e r - 控$ i j 器部分由两部分组成,a c t i o n s e r v l e t 与 a c t i o n 。c o n t r o l l e r 控制器通过专门的s e r v l e ta p i 中提供的a c t i o n s e r v l e t 类型实例。 2 3 3s t r u t s 运行流程 s t r u t s 应用是一个分工明确的有机整体,各个部件发挥自己的作用,在c o n t r o l l e r 的 协调下工作,完成应用程序各个部分的逻辑处理工作。s t r u t s 的工作流程如下: ( 1 ) a c t i o n s e r v l e t 对象接收客户端的h 1 _ r p 请求,使用a c t i o n f o r m 自动接收请求表 单信息,然后将请求分发给相应的a c t i o n 对象。 ( 2 ) a c t i o 删象调用e x e c u t e ( ) 方法处理请求,期间能够使用先前的a c t i o n f o r m ,也 可调用其它的j a v a b e a n 实现业务逻辑。然后返回a c t i o n f o r w a r d 对象给a c t i o n s e r v l e t 。 ( 3 ) 根据a c t i o n f o r w a r d 对象封装的信息,a c t i o n s e r v l e t 将h t t p 请求再次转发给其 它网页,最终发送响应回到客户端。 2 3 4s t r u t s 框架的优缺点 s t r u t s 框架很好的实现了m v c 设计模式【1 0 】,使得业务逻辑层和表示层进行分离,使 每个模块可以独立的完成单一的功能,便于开发与维护工作;s t r u t s 有良好的文档,便 于开发人员学习。 s t r u t s 作为一个很好的w e b 应用开发框架,也有其不足之处: ( 1 ) s t r u t s 框架有一定的使用范围。s t r u t s 是一种基于w e b 的m v c 解决方案,所以 必须用h t m l 、j s p 文件和s e r v l e t 来实现。 ( 2 ) s t r u t s 框架没有事件模型。s t r u t s 和h 订p 请求响应模型结合紧密,这限制了开 发人员更好地处理事件。 2 4s p r i n g 框架研究 s p r i n g 框架最初起源于2 0 0 2 年r o dj o l l l l s o n 出版的e x p e r to n e - o n - o n e :j 2 e ed e s i g n a n dd e v e l o p m e n t ) ) 书中,在该书中,r o dj o l l i l s o n 倡导j 2 e e 实用主义的设计思想,而s p r i n g 框架正是j 2 e e 实用主义设计思想的更全面和具体的实现。 2 4 1s p r i n g 概述 s 埘n g 框架是一个轻量级框架,是为了解决企业级丌发的复杂性而设计出的,其目 8 太原理丁大学硕士学位论文 的就是使得整个应用程序框架的设计与构架更加合理。s p r i n g 框架解决了在j 2 e e 开发中 常见的问题,为j 2 e e 的应用系统提供了一站式解决方案。 s p r i n g 的核心概念是i o c ( i n v e r s i o no fc o n t r o l 反转控制) 或d i ( d e p e i l d e n c yi n j e c t i o n 依赖注入) ,它可以帮助程序设计人员完成组件之间的依赖注入【】,使得组件之间的依 赖关系达到最小,进而提高组件的重用性。同时s p r i n g 也是一种非侵入式的框架,它 的非侵入式特点,体现在它是完全基于p o l o 的,它的组件并不会意识到它正置身于 s p r i n g 框架中,这使得组件可以轻易地从框架中脱离而几乎不用作任何修改。s p r i n g 还 提供了事务管理、访问、邮件服务等功能【1 2 】。 2 4 2s p r i n g 的体系结构 s 两n g 框架是一个分层架构,由七个定义良好的模块组成【1 3 】: ( 1 ) s p r i n gc o r ec o n t a i n e r s p r i n g 所有模块都是建立在c o r ec o n t a i n e r _ l 的,c o r e 包是s 硼n g 的基本组成部分, 提供t s p r i n g 框架的核心功能,它提供t d i 特性以及b e a n 容器管理。 ( 2 ) s p r i n gc o n t e x t c o n t e x t 包构建于b e a n 包之上,s p r i n gc o n t e x t 扩展t b e a n f a c t o r y ,添加了对系统生 命周期以及验证的支持。 ( 3 ) s p r i n g a o p 提供了与a o p ( a s p e c t o r i e n t e dp r o g r a m m i n g 面向方面的编程) 联盟兼容的a o p 实 现,允许定义方法拦截器、切入点等。允许开发者不需要使) 羽e j b 容器,只需借助于s p r i n g 的事务抽象便能够在e j b 容器外使用事务管理服务。 ( 4 ) s p r i n gd a o d a o 包提供 j d b c 抽象,它消除了冗长的j d b c 编码和解析数据库厂商特有的错误 编码。 ( 5 ) s p r i n go r m s p r i n g 提供了对其它一些o r m ( o b j e c t r e l a t i o nm a p p i n g 对象关系数映射) 框架的 支持,例! i j d o 、h i b e m a t e 和i b m i s 等,s p r i n g 事务管理支持所有这些o i 蝴框架以及j d b c 。 ( 6 ) s p r i n gw e b s p r i n gw 曲模块建立在c o n t e x t 包基础上。w e b 包提供了面向w e b 的综合特性,如使 用s e r v l e t 监听器的c o n t e x t 初始化、面向w 曲的a p p l i c a t i o n c o n t e x t 、文件上传等功能。 ( 7 ) s p r i n gm v c 9 太原理i :人学硕十学位论文 w 曲m v c 提供了面向w 曲的m v c 设计模式的实现。s p r i n gm v c 和i o c 容器紧密整 合,提供了一种领域模型和w e b 表单的清晰分离,如果丌发人员对它们比较熟悉,仍然 可以选择使用。 2 4 3s p r i n g 核心技术 了解s p r i n g l 垂架的基本体系结构后,下面介绍一下主要的核心技术。 ( 1 ) 反转控制模式 s p r i n g 框架的核心是基- 于i o c 原则,l o c 是面向对象领域新兴的编程思想。面向对象 的程序设计目的就是管理程序中各模块之间的依赖关系,从而降低模块之间的耦合度, 实现组件复用的目标。i o c 能够帮助丌发者管理不同的组件,并将组件组装成一个内聚 的系统【1 4 1 。 1 ) 反转控制概念 i o c 就是指由容器来控制程序之间的关系,而非传统实现中的由程序代码直接操控。 这也就是所谓“控制反转”的概念所在:控制权由应用代码转到外部容器,发生控制权 的转移,也就是所谓的反转【1 5 】。 m a r t i nf o w l e r 为控制反转起了另一个响亮的名字依赖注入,s p r i n g 框架使用依赖注 入来实现i o c l l 6 】。可以说依赖注入更准确地表达了控制反转这种理念,就是组件之间的 依赖关系由容器在运行期决定,即由容器动态的将某种依赖关系注入到组件之中。程序 需要什么业务逻辑组件服务的时候只要告诉i o c 容器,而不用自己直接实例化对象,这 就是业界流行的“d o n tc a l lu s ,w ew i l lc a l ly o u ”的原则【17 1 。需要调用的所有业务逻辑模 块都由i o c 容器组织起来,程序要做的就是直接使用所需要的服务。这样将创建对象实 例的任务交给了容器,使得在应用程序中仅仅需要直接使用实例对象【1 8 】。 2 ) 反转控制优点【19 】: 应用组件不需要在运行时寻找其协作者。借助i o c ,容器能够在运行时将组件依 赖的其它组件注入进来,因此更易于开发和编写应用程序。 通过使用i o c 容器管理组件之间的依赖关系,应用开发的单元测试和集成测试更 易于展开,代码更简洁易懂,并支持组件的重用。 ( 2 ) a o p a o p 是s p r i n g 框架的一个关键组件,是s p d n gi o c l 拘完善和补充,它们都是运用模块 化方式来解决企业应用程序开发中遇见的复杂问题。a o p 思想从横向来分析问题,给开 发人员提供了一种新的设计思想【2 0 】。 1 0 太原理工大学硕士学位论文 1 ) a o p 概述 对于企业应用所有的关注点可以分为两类:核心关注点和横切关注点【2 1 1 。核心关注 点主要关注系统的业务逻辑处理,核心业务逻辑一般出现在某个特定的软件模块中,使 用o o p 技术能很好的实现;横切关注点主要关注系统级的服务( 日志记录、事务管理、 身份验证等) ,供业务逻辑使用。因为横切关注点关注的是系统级服务,具有一定的规 范性,而且每个软件模块中都有涉及,贯穿整体系统的多个模块,因此很容易将它们抽 象出来,并加以实现,可以使用a o p 技术来实现【2 2 1 。 o o p 主要是从系统的垂直切面关注问题,针对问题领域中以及业务处理过程中存在 的实体及其属性和操作进行逻辑抽象和封装,其目标是获取清晰的逻辑单元与逻辑功能 划分,而对系统和横切面关注很少。 2 ) s p

温馨提示

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

评论

0/150

提交评论