(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf_第5页
已阅读5页,还剩86页未读 继续免费阅读

(计算机软件与理论专业论文)基于j2ee轻量级框架的安全管理平台的设计与实现.pdf.pdf 免费下载

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

文档简介

j ,心 扣 _l i o 。j ;, 一 j 独创性声明 i i i l l l l l l l l l l l l l l l l l l i i i i i l l l l l i t l l l l l l l j l u j y 18 0 2 4 9 9 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名: 垄鱼篮日期:砂勿年岁月节目 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:麴筮 导师签名: 日期:匆 , u 1 i 、- + f _ 善 一 j _ 摘要 摘要 在i n t e m e t 技术日新月异的时代,w e b 开发不仅要求快捷,更要能应付这多变 的商业需求,防止通过网络的恶意行为而保证系统的安全。因此开发框架的轻量 级、安全性成为当前开发最需要的。 本文首先分析了轻量级应用的发展现状以及应用的安全性需求,总结出现代 企业开发的复杂需求、快速性、可维护性高、以及安全性等特点。 其次分析了轻量级框架的含义及其优势,摒弃重量级e j b ,轻量级是j 2 e e 开 发的趋势。接着阐述了m v c 设计的理念,并深入研究了当前最流行的轻量级框架 s p r i n g ,分析它对m v c 的支持以其该框架的体系结构。对s p r i n g 框架最核心的机 制控制反转依赖注入、面向切面进行了分析。引入了一个开源的框架h i b e r n a t e , 分析了它的原理与核心接口,使用h i b e m a t e 框架做数据的持久化,摆脱了繁琐的 s q l 语句来与数据库进行交互,该框架可以与s p r i n g 很好地整合,就基本满足了 企业的开发。基于m v c 的设计理念与分层模型构建了自己的开发架构,即四层架 构,并对每层需要的技术进行了研究,加入依赖注入与面向接口编程的原则,总 结出较好的设计与实现,使得每层的的耦合性变低,并提高了代码的重用性。 接着研究了a c e g i 安全框架,以保证应用的安全性。深入分析了a c e g i 的两大 支持也是达到安全目的两个手段:用户的认证与授权。身份认证保证访问者的身 份是经系统审核过的。授权可以控制用户对系统里的内容资源、敏感数据的访问 操作,只有有权限操作的用户才可能达到目标资源。同时分析了a c e g i 的不足,改 进并扩展了该框架,适应了现在企业开发的复杂性。a c e g i 已经成为s p r i n g 的一个 子项目,因此可以与s p r i n g 完美结合,达到即轻量级又安全的目标。 最后以安全管理平台为背景,分析了该项目的需求,详细分析了系统功能模 块与业务流程,把构建的通用的开发架构应用其上,并对每层的架构做了详细的 设计与实现,运用设计原则,降低了每层之间的依赖性与耦合度,提高了该开发 架构的移植性和扩展性。同时把扩展的a c e g i 框架应用其中,实现了对平台中的内 容资源、敏感数据的保护。 关键词:轻量级框架,安全性,认证,授权,s p r i n g ,a c e g i 盥 严 , 1 卜 一 1 - 参 产j a b s t r a c t a b s t r a c t 1 1 1t h ep e r i o do fi n t e m e tt e c h n o l o g ye v e r - c h a n g i n g ,w e bd e v e l o p m e n td o e s n to n l y r e q u i r es p e e d yc o m p l e t i o n ,b u ta l s oc a nb ea b l et oc o p ew i t ht h ec h a n g i n gn e e d so ft h e b u s i n e s s i no r d e rt oe n s u r es y s t e ms e c u r i t mt h ew e bd e v e l o p m e n ts h o u l dp r e v e n tt h e m a l i c i o u sb e h a v i o ro n l i n e t h e r e f o r e ,t h el i g h t w e i g h ta n ds e c u r i t yf r a m e w o r kb e c o m e t h e m o s ti n n e e d t h i st h e s i sf i r s t l ya n a l y z e st h ec u r r e n ts i t u a t i o na n ds e c u r i t yr e q u i r e m e n t so ft h e m o d e me n t e r p r i s e a p p l i c a t i o nd e v e l o p m e n t f o rt h ec o m p l e xn e e d so fm o d e m e n t e r p r i s ed e v e l o p m e n t ,r a p i d i t y , h i g hm a i n t a i n a b i l i t ya n ds e c u r i t ya r en e e d e d s e c o n d l y , t h em e a n i n g sa n da d v a n t a g e so fl i g h t w e i g h tf r a m ea r ea n a l y z e d ,s ot h e l i g h t w e i g h tj 2 e ef r a m e w o r kd e v e l o p m e n ti st h et r e n d t h em v cd e s i g nc o n c e p ti s i n v e s t i g a t e d ,a n dt h e nt h em o s tp o p u l a rl i g h t w e i g h tf r a m e w o r k - s p r i n gi ss t u d i e di n d e t a i l t h i st h e s i sa n a l y z e st h ec o r em e c h a n i s m so fs p r i n g :d ia n da o ei ta l s o i n t r o d u c e so n eo r m o p e n s o u r c ef r a m e w o r k - h i b e r n a t e ,a n da n a l y z e si t sp r i n c i p l e sa n d c o r ei n t e r f a c e sw h i c ha r eu s e df o rt h ed a t ap e r s i s t e n c e b yt h i s w a y , t h es o f t w a r e e n d n e e r sc a ng e tr i d o ft h et e d i o u s s q ls t a t e m e n t sw h i c ha r eu s e d f o rt h e c o m m u n i c a t i o nw i t ht h ed a t a b a s e h i b e r n a t ec a nb ei n t e g r a t e dw i t hs p r i n gw e l l ,s ob y u s i n gt h i st w of r a m e w o r k si tc a nm e e tt h eb a s i cn e e d sf o rt h ee n t e r p r i s ea p p l i c a t i o n d e v e l o p m e n t t h r o u g ht h em v cd e s i g nc o n c e p t sa n dt h eh i e r a r c h i c a lm o d e l ,ab e t t e r d e v e l o p m e n tf r a m e w o r kw h i c hi sf o u r - l a y e rs t r u c t u r ei sb u i l t b yt h ed e p e n d e n c y i n j e c t i o na n dt h ei n t e r f a c e o r i e n t e dp r o g r a m m i n gp r i n c i p l e ,t h ef r a m e w o r ki sd e s i g n e d w h i c hc a nm a k et h ec o u p l i n gd e g r e eb e t w e e nt h ef o u rl a y e r sb e c o m el o w e ra n di n c r e a s e t h er e u s a b i l i t yo ft h ec o d e t h i r d l y , i no r d e rt oe n s u r et h es e c u r i t yo ft h ea p p l i c a t i o n ,t h i st h e s i sr e s e a r c h e st h e a c e g is e c u r i t yf r a m e w o r k i ta n a l y z e st h et w om a j o rm e c h a n i s m so fa c e g i :t h eu s e r s 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 n a u t h e n t i c a t i o nc a ne n s u r et h ev i s i t o r si d e n t i t yw h i c h w a se v e ra u d i t e db yt h es y s t e m a u t h o r i z a t i o nc a nc o n t r 0 1t h eu s e r s o p e r a t i o n sa b o u t t h ec o n t e n tr e s o u r c e sa n ds e n s i t i v ed a t ai nt h es y s t e m ,a n de n s u r et h eu s e r sw h oh a v e t h ep e r m i s s i o n sc a no p e r a t et h et a r g e tr e s o u r c e s b yr e s e a r c h i n gt h ed e f i c i e n c i e so f i i a c e g i ,t h i sf r a m e w o r ki si m p r o v e da n de x t e n d e d ,w h i c hi s a d a p t e dt ot h ec u r r e n t c o m p l e x i t yo fe n t e r p r i s ed e v e l o p m e n t a c e g ih a sb e c o m e t h es u b 。p r o j e c to fs p r i n ga n d c a l lc o m b i n ew i t ht h es p r i n g ,s ob yt h i sf r a m e w o r ki t c a na c h i e v et h ec u r r e n tg o a l : l i g h t w e i g h ta n ds a f e f i n a l l y ,as e c u r i t ym a n a g e m e n tp l a t f o r mi sd e v e l o p e d t h i st h e s i sr e s e a r c h e st h e p r o je c t ,sn e e d s ,a n dm a k e sa d e t a i la n a l y s i sa b o u tt h ef u n c t i o n a lm o d u l e sa n db u s i n e s s p r o c e s s e so ft h es y s t e m t h ea b o v ef o u r - l a y e rf r a m e w o r ko fa p p l i c a t i o nd e v e l o p m e n t l s a p p l i e do nt h ep r o j e c t ,a n dt h es t r u c t u r eo f e a c hl a y e ri sd e s i g n e da n di m p l e m e n t e di n d e t a i l b yu s i n g t h ed e s i g np r i n c i p l e s ,t h ed e p e n d e n c ya n dc o u p l i n gd e g r e eo f e a c hl a y e r a r er e d u c e dw h i c hi m p r o v et h ep o r t a b i l i t y a n de x p a n s i b i l i t yo ft h ed e v e l o p m e n t 丘a m e w o r k a tm es a m et i m eb yu s i n gt h ee x t e n d e da c e g if r a m e w o r k ,t h i ss y s t e mc a n p r o t e c tt h ec o n t e n tr e s o u r c e sa n d t h es e n s i t i v ed a t a k e y w o r d s :l i g h t w e i g h tf r a m e w o r k ,s e c u r i t y , a u t h e n t i c a t i o n ,a u t h o r i z a t i o n ,s p r i n g , a c e g i i i i j 广一 目录 目录 第一章引言1 1 1 研究背景1 1 2 研究现状1 1 3w e b 开发的安全性需求2 1 4 本论文主要研究内容3 1 5 本文组织结构4 第二章轻量级j 2 e e 企业应用开发框架研究5 2 1 轻量级框架5 2 1 1 轻量级概念5 2 1 2 轻量级的优势5 2 2m v c 设计模式概述6 2 3s p r i n g 框架7 2 3 1s p r i n g 框架体系结构7 2 3 2s p r i n g 的m v c 框架8 2 3 3s p r i n g 框架的核心机制9 2 4h i b e r n a t e 框架1 0 2 4 1h i b e r n a t e 原理1 0 2 4 2h i b e r n a t e 核心接口11 2 5 基于s p r i n g 的w e b 应用分层模型研究1 2 2 5 1 视图层1 2 2 5 2 控制层1 3 2 5 3 业务逻辑层1 3 2 5 4 数据持久层1 4 2 6 j 、结1 4 第三章a e e g i 安全框架1 5 3 1a c e g i 安全框架简介。1 5 目录 3 2a c e g i 的框架构成1 5 3 - 3a c e g i 的认证机制1 6 3 - 3 1a c e g i 内置认证接口一1 6 3 3 2 集成表单的认证1 7 3 4a c e g i 的授权机制1 8 3 4 1w e b 资源的授权1 9 3 4 2 业务方法授权2 0 3 4 3 领域对象授权2 0 3 5a c e g i 的不足与改进2 3 3 6 小结一2 4 第四章安全管理平台系统设计2 5 4 1 系统的概述一2 5 4 2 系统的安全性需求2 5 4 3 系统功能模块需求一2 6 4 4 系统功能设计3 6 4 5 系统总体业务流程分析3 8 4 6 系统体系架构设计3 8 4 7 数据库设计4 0 4 7 1a c e g i 领域对象授权表设计4 0 4 7 2 平台业务相关表设计4 1 4 8 系统技术架构设计4 5 4 8 1 视图层设计4 5 4 8 2 控制层设计4 6 4 8 3 业务逻辑层设计4 7 4 8 4 数据持久层设计4 8 4 9 爿、结4 9 第五章安全管理平台系统实现5 0 5 1 平台开发环境5 0 5 2 视图层实现5 0 5 2 1j s t l 实现5 0 v 目录 5 2 2j q u e r y 的a j a x 实现5 1 5 3 控制层实现5 2 5 3 1 控制器的实现5 2 5 3 2 自定义编辑器实现5 3 5 4 业务逻辑层实现。5 5 5 4 1 业务逻辑类实现5 5 5 4 2 声明式事务管理5 6 5 5 数据持久层实现5 7 5 5 1 数据源5 8 5 5 2h i b e r n a t e 集成配置5 9 5 5 3 数据持久d a o 类的实现6 0 5 6a c e g i 安全框架实现6 1 5 6 1 认证模块的实现6 2 5 6 2 授权模块的实现6 5 5 7 其它功能实现7 0 5 7 1 页面菜单的授权显示7 0 5 7 2 定时任务7 0 5 7 3 邮件的发送7 1 5 8 小结7 3 第六章结论7 4 6 1 工作总结7 4 6 2 课题意义。7 4 6 3 下一步工作7 5 致谢7 6 参考文献7 7 攻硕期间取得的研究成果7 9 一l i 第一章引言 1 1 研究背景 第一章引言 在i n t e m e t 技术日新月异的今天,人们的生活、学习与工作无时无刻不与互联 网挂钩,从网上获取各种信息、资源、以及娱乐。因此各种w e b 系统也生运而生, 并逐渐变得多样化与复杂化,这就需要更好的应用体系架构才能满足。一个软件 产品的生命周期取决于该产品的架构设计,合理的架构设计有助于全面提高软件 的质量,也是软件产品成功的决定性因素【l 】。 伴随着信息化时代的复杂性,企业的安全性问题便浮现出来,要保证系统中 敏感数据的安全性,就需要创建安全的w e b 平台。安全的w e b 系统需要将用户身 份认证、安全访问控制、资源授权等技术整合起来,构成系统的安全屏障【2 1 。具体 到现实的开发项目中,应该综合运用上述技术,让每项技术负责能胜任的那部分 安全问题,这样才能达到全面的、有效的安全防护,在一个应用系统中对用户的 访问请求进行良好的控制是保证系统安全的首要手段【3 】。 1 2 研究现状 随着j 2 e e 开发技术的发展,目前大部分j 2 e e 开发的目标已经变成:开发投 入的人力、物力和时间的减少,提高应用的维护性和良好的运作能力。同时也带 动了w e b 应用开发的发展,降低了w e b 开发的复杂性、人力和财力投入。但由 于j 2 e e 平台的复杂体系架构,不可预料性、过高的研发与维护投入,有些系统架 构设计不能很好的满足需求【4 】。于是,许多优秀的w 曲开发框架便应运而生,它 们使得w e b 应用开发变得简单化,提高了开发的效率。下面介绍几个流行的w e b 框架: s t r u t s 框架【5 】:s t r u t s 是历史悠久的w e bm v c 框架,它的设计很好地运用了 m v c 三层架构,使它的架构层次分明,易于开发,同时由模块化的功能组件组成, 使得开发变得方便灵活,容易扩展,因此该框架简化了基于m v c 的w e b 应用的 开发。它的主要缺点是对于m o d e l 层的划分不是很好,没有将业务层与数据层分 离出来,只支持j s p 视图技术,对于请求的配置烦多,对s e r v l e t 的依赖性过强, 电子科技大学硕士学位论文 不方便进行测试。 t a p e s t r y 框架【6 】:t a p e s t r y 是一个开源的j a v aw 曲应用框架,它需要运行在 s e r v l e t 容器中。t a p e s t r y 是一个基于控件的框架,因此它的w e b 应用开发类似g u i 应用的开发。t a p e s t r y 应用专注于视图层的开发,它是由一系列页面组成,同时可 复用的多个控件组成每个页面。它有优秀的错误反馈方式,会具体到配置文件哪 一行出现了错误,有助于代码的调试,但t a p e s t r y 比较难学,其开发文档不是很多, 不易于w e b 应用开发。 j s f 框梨7 】:j a v a s e r v e rf a c e s ( j s f ) 于2 0 0 4 年3 月1 0 版本正式提出,它是一种 基于组件化的w e b 应用框架,因此简化了用户界面的开发,它又遵循了m v c 的 设计模式,使得界面的代码与系统的业务部分分离开来,方便了代码的管理。同 时它的设计中也利用了多种设计模式,是一个相当强健的框架,因此j s f 在j a v a 的w e b 编程中已经被认定是下一个重大的事件。 s p r i n g 框架【8 】:该框架是一个开源框架,它是为简化企业级开发而出现的。 s p r i n g 框架是基于d i ( d e p e n d e n c yi n j e c t i o n ) 和a o p ( a s p e c to r i e n t e dp r o g r a m m i n g ) 的轻量级j 2 e e 开发容器。它可以很好地同多种优秀框架整合,从而达到更好的功 能,该框架构建的应用系统易于测试和移植,大大提高了开发的效率。该框架是 一个全面的又组件化的框架,它的组件都是可以独立运行的,开发人员可以选择 所需要的组件,而无需全部进行加载【9 】。 1 3w e b 开发的安全性需求 由于网络技术的迅猛发展,现在的w 曲系统也逐渐变得多样化与复杂化,在 这种现状下,一些安全问题就暴露出来,比如有些恶意分子的不友善行为,可能 会对系统的授权资源,机密数据进行盗取等行为。 不同的企业有着对安全性不同的要求。为了满足不同的需求,各个企业会提 供不同的安全性机制。而企业级的安全需求是复杂的。企业级安全【lo 】需要保护各 种敏感数据的访问,并不是任意的用户都能够操作到被保护的资源,尤其不能让 一些恶意访问控制或涉及到这类敏感资源,比如:某些重要w e b 页面,业务操作, 重要的业务数据等等。w e b 开发的安全性问题迫在眉睫,需要设计良好的安全框 架来满足。 结合应用系统开发和使用的方面来看,下面几个安全方面满足了大部分w 曲 应用系统的安全方面的要求【l l 】:第一,对登录系统的用户进行身份认证。第二, 2 第一章引言 拦截访问者的所有w e b 请问,并进行审核后决策出是否允许用户的访问。第三, 对业务逻辑层的公开方法进行授权保护,以保证系统核心业务的安全性。第四, w e b 系统要对领域对象进行授权,保证用户请求访问时,敏感资料或数据的安全。 j 2 e e 规范【1 2 】定义了许多安全编程模型来保障应用的安全性,主要有:用户身 份认证、授权服务、加密传输、数据的完整性与机密性、客户端连接过滤等。可 是采纳上述原生的j 2 e e 安全编程模型进行开发应用时,整个开发、测试、实施过 程都不够灵活与敏捷,无法满足现在w e b 开发的快捷性,要求短的开发时间、稳 定的运作性能等等。而a c e g i ( s p r i n gs e c u r i t y ) 是构建在s p r i n g 之上的,属于它 的一个子系统,同时s p r i n g 是构建在j 2 e e 基础上的,这样便使得a c e g i 应用的便 携性、灵活性、敏捷性与健壮性得到了保证【l 。同时a c e g i 是基于a o p 设计的, 因此可以同系统开发中的业务逻辑很好的分离开来,保持了该子系统的可移值性。 1 4 本论文主要研究内容 本文首先分析了轻量级应用的发展现状以及应用开发的安全性需求,总结出 现代企业开发的复杂需求、快速性、可维护性高、以及安全性等特点。 其次分析了轻量级框架的含义及其优势,摒弃重量级e j b ,轻量级是j 2 e e 开 发的趋势。阐述m v c 设计的理念,并深入研究了当前流行的轻量级框架s p r i n g , 分析它对m v c 的支持以其该框架的体系结构。对s p r i n g 最核心的机制依赖注入、 面向切面进行了分析。同时引入了一个o r m 开源框架h i b e m a t e ,分析了它的原 理与核心接口,h i b e r n a t e 用来做数据的持久化,摆脱了繁琐的s q l 语句来与数据 库进行交互,该框架可以与s p r i n g 很好地整合,就基本满足了企业的开发。基于 m v c 的设计理念与分层模型构建了自己的开发架构,即四层架构,并对每层需要 的技术进行了研究,加入依赖注入与面向接口编程的原则,总结出最佳的设计与 实现,使得每层的的耦合性变低,并提高了代码的重用性。 接着研究了a c e g i 安全框架用以保证应用的安全性。深入分析了a c e g i 的两大 支持也是达到安全目的两个手段:用户的认证与授权。身份认证保证访问者的身 份是经系统审核过的。授权可控制用户对系统里的内容资源、敏感数据的访问操 作,只有有权限操作才可能达到目标资源。同时分析了a c e g i 的不足,改进并扩展 了该框架,适应了现在企业开发的复杂性。a c e g i 已经成为s p r i n g 的一个子项目, 因此可以与s p r i n g 完美结合,达到即轻量级又安全的目标。 最后以安全管理平台为背景,分析了该项目的需求,把构建的通用的开发架 电子科技大学硕士学位论文 构应用其上,详细分析了系统功能模块与业务流程,并对每层的架构做了详细的 设计与实现,运用设计原则,降低了每层之间的依赖性与耦合度,提高了该开发 架构的移植性和扩展性。同时把扩展的a c e g i 框架应用其中,实现了对平台中的 内容资源、敏感数据的保护。 1 5 本文组织结构 本论文共分为六个章节: 第一章:简单地阐述了下本课题的研究背景,发展现状,本论文的研究工作 和章节结构。 第二章:简单介绍了轻量级框架,m v c 模式,并深入研究了轻量级框架s p r i n g 的体系结构,分析了它的核心机制:依赖注入、面向切面。引入了开源框架 h i b e r n a t e ,分析了它的原理与核心接口。基于m v c 的设计理念与分层模型构建了 自己的开发分层架构,并针对每层开发时需要重视的方面或技术进行了研究。 第三章:深入研究a c e g i 安全框架和它的两大支持:用户的认证与授权,详细 分析了认证与授权的过程。同时分析了a c e g i 的不足,改进并扩展了该框架,使之 适应了现代企业开发的复杂性。 第四章:分析了安全管理平台的系统概述、安全性需求、系统功能需求分析 与设计、整个平台的业务流程分析与架构设计,并设计了平台的数据库,最后对 提出的分层架构做了详细的设计。 第五章:结合第四章的设计,将安全管理平台进行了系统实现,包括四层架 构的详细实现,a c e g i 的认证与资源授权的具体实现以及其它辅助功能的实现。 第六章:总结了本人的研究工作及课题的意义,并提出项目中的不足和需要 完善的地方,待以后进一步学习。 4 第二章轻量级j 2 e e 企业应用开发框架研究 第二章轻量级j 2 e e 企业应用开发框架研究 本章首先分析了轻量级框架,介绍了m v c 设计模式,接着详细的介绍了本课 题中应用到的两种框架:s p r i n g 和h i b e r n a t e 。其中主要分析了s p r i n g 开发框架的 体系结构,对m v c 的支持、以及它的核心机制。同时研究了h i b e r n a t e 的原理和 核心接口。最后对基于s p r i n g 开发的四层分层模型做了分析研究。 2 1 轻量级框架 2 1 1 轻量级概念 对于轻量级的定义是相对而言的,它与那些重量级的容器,比如说e j b 来比 较的话,整个s p r i n g 打成一个包还不到3 m ,而且部署容易,不像e j b 容器非常 庞大,做一个小的开发或测试都要把所有的组件部署好,由些可想开发效率肯定 不高。 轻量级【l3 】简单说主要包含两个方面:运行时期和开发时期的轻量级。其中运 行期指的是在完成一样的任务时用了尽量少的资源;开发期指的是开发的快捷性 和整个应用的高速反应力。 2 1 2 轻量级的优势 根据轻量级的含义可总结出它的优点主要有: 1 轻量型容器摆脱容器捆绑【1 4 】,它的启动与部署非常轻快,消耗可以省略不 计,和e j b 繁琐的部署过程形成鲜明对比,使用e j b 开发就算只使用它的一小部 分功能就要付出整个容器的开销。 2 轻量级容器支持面向切面编程,这样便可以方便地进行声明式服务,如声 明式事务处理,对原有代码影响性少,是一种非侵入的编程【1 5 1 。 3 代码重用性,轻量级容器基本上是使用p o j o 来提供应用服务,而且不固 定容器,因此代码利用率比较高,相反的重量级基本是用运行在特定容器的e j b 。 4 轻量级框架如s p r i n g 是一个开源的框架,和e j b 投入的费用相比,节省资 金开销,也就降低了开发的投入成本。 电子科技大学硕士学位论文 5 更好的0 0 风格,容器分离了组件接口和实现,这样使用者就可以根据自 己的需求选择。 6 依赖注入【1 6 】是一种松耦合技术,对象是被动接收依赖类而不是自己去容器 中寻找它的依赖类,而是容器自动把它的依赖类注入。 7 可测试性高,s p r i n g 框架对于单元测试非常方便,如j u n i t ,它并不依赖于 容器就可以进行测试。 由此可见轻量级框架的使用可以加速应用系统的开发效率,同时减少了个人 学习整个体系的难度,如s p r i n g 提供依赖注入降低了类文件之间的依赖关系,这 样使得业务耦合性变低,开发人员可以只专注于个人负责的功能模块,从而进行 了敏捷开发,而不会出现等待某项功能完成的情况。同时提供的面向方面的编程 方便了系统中的业务处理,减少了相似功能代码的编写。 2 2m v c 设计模式概述 m v c 的全称是m o d e l v i e w c o n t r o l l e r e l 7 】,分别表示模型。视图控制器,它提 出的分层模型符合w e b 开发的基本需求,使系统开发层次分明,整个架构变得非 常灵活,也易于扩展,因此该模式被广泛应用到多个框架中,像s t r u t s 、s p r i n g 等 优秀框架。 m v c 划分了三大部分:模型、视图、控制器,分别负责自己的工作,这三者 的职责以及之间的关系如下图2 1 所示【18 】: 模型 封装应用程序状态 状态 查询 响应状态查询 1 应用程序功能 状态改变 苗牢n ;奸2 舔 通知视图改变 旧 l l蚺, 视图 控制器 解释模型 + 一视图选择 模型更新请求 定义应用程序行为 发送用户输入给控制器 用户请求- 用户动作映射成模型更新 选择响应的视图 允许控制器选择视图 方法调用事件 图2 - im v c 模块关系图 6 第二章轻量级j 2 e e 企业应用开发框架研究 1 v i e w 表示的是系统呈现给用户用的页面,用户从视图层发出数据请求,工作便交 给了控制器。它也从模型中读取数据,并将结果作为请求的响应返回给请求的用 户,视图上展现的数据会跟着模型的状态而发生变化,以保证数据一致。在视图 层中通常不应该存在系统业务逻辑代码,它的作用只是显示数据而已。 2 c o n t r o l l e r 它是用来接收用户请求,并根据请求内容再决定它的下一步工作,或是直接 选一个视图返回给用户,或是把请求转发给相应的模型,模型就会把与请求相关 的数据准备好给视图。很明显控制器的工作就是进行请求处理,将用户的请求转 化为模型更新与视图。在一个实现开发中,可能拥有多个c o n t r o l l e r ,每个c o n t r o l l e r 掌管着不同的模块功能。 3 m o d e l 该模块算是整个应用中最核心的,它负责业务逻辑的处理。对于其它模块来 说,只是从m o d e l 中获取数据,更新状态、或传达消息等。它本身负责应用的业 务逻辑、存储应用状态。它存储着访问的状态,为c o n t r o l l e r 和v i e w 提供统一的 接口。 2 3s p r i n g 框架 s p r i n g 是一个开源框架,是为了简化j 2 e e 应用开发应运而生的。降低了w e b 开发的难度和投入,缩减了整个开发时间,同时它的低耦合、可维护性、可扩展 性、敏捷性等性等优势更加符合现代企业开发的需求,因此被广泛的应用到各个 开发平台中。 2 3 1s p r i n g 框架体系结构 s p r i n g 框架是利用了分层的思想来构建的,总共包括7 个模块。如下图2 2 所示。可以看到这几个模块就满足了企业级应用的需求,各个模块之间是可以独 立应用的,可以根据自身项目的需求而选择其中的模块,无需全部构建。各个模 块的功能如下【1 9 】: s p r i n gc o r e :为s p r i n g 提供了最核心、最基础功能,其中的b e a n f a c t o r y 是 s p r i n g 的核心,它实现了依赖注入( d i ) ,使类之间处于松耦合状态。 a p p l i c a t i o nc o n t e x t :该模块使s p r i n g 成为了框架,它在c o r e 的基础上增加了 7 电子科技大学硕士学位论文 事件、验证的支持,同时提供了更多的企业服务。 图2 - 2s p r i n g 核心模块组成 s p r i n g a o p - 支持应用对象之间的松耦合,是开发切面系统的基础。 s p r i n gd a o :把与数据库操作的基础语句进行了抽象,同时提供了事务支持。 s p r i n go r m :整合当前o r m 框架,同时s p r i n g 的事务支持该模块。 s p r i n gw e b :提供w e b 系统的上下文支持和任务。 s p r i n gm v c - 提供了s p r i n g 的m v c 框架。 2 3 2s p r i n g 的m v c 框架 s p r i n g 的m v c 中所有的请求都将经过一个前端的s e r v l e t ,即: d i s p a t c h e r s e r v l e t 。用户发出请求后在s p r i n g 的w e b 框架中的过程具体如下图2 3 所示。 图2 - 3 一个请求在s p r i n gm v c 中的过程 第二章轻量级j 2 e e 企业应用开发框架研究 详细的请求处理过程为 2 0 】: 首先,在一个请求发出后,d i s p a t c h e r s e r v l e t 使接受该请求,然后通过查询 h a n d l e r m a p p i n g ,找到该请求对应的控制器来处理。 其次,当d i s p a t c h e r s e r v l e t 确定是哪个控制器后,便将请求转发给该c o n t r o l l e r , c o n t r o l l e r 便根据用户请求的内容,进行相应的业务处理。 然后,c o m r o l l e r 将返回一个m o d e l a n d v i e w 给d i s p a t c h e r s e r v l e t ,该 m o d e l a n d v i e w

温馨提示

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

评论

0/150

提交评论