




已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)基于mvc模式的struts框架的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t e m e t 和w e b 技术的广泛应用,基于b s 的多层w e b 体系结构逐渐 发展并成熟起来,越来越多的企业都迫切要求高效地构建自己的w e b 业务系统。 s u n 公司发布的j 2 e e 技术规范提供了一个基于组件的方法来设计、开发、装配 和部署应用程序。j 2 e e 平台使用了一个多层的分布式的应用程序模型。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 是一个 基于j 2 e e 平台和m y c 设计模式的框架,它全面减轻了构建多层w e b 应用的负担, 提供可复用的软件构架。在s t r u t s 框架中,视图层的显示一般采用j s p 技术和 自定义标签库t a g l i b ,但是由于j s p 自身存在着一些缺陷,如不能很好的支持 x m l ,使得s t r u t s 框架不具备很好的视图层适应性。 基于上述背景,本文引入了x s l 技术,由于x s l 具有分离数据的内容和表 现形式的特点,将它和s t r u t s 结合起来,对s t r u t s 框架的视图部分进行改进, 接着本文提出了一个解决方案,并给出了一个新的模型s t r u t s l x 。着重分析了 此模型的技术和优点,在此模型中使用了x m l 和x s l t 来鼓励开发人员将业务逻 辑和表现逻辑彻底的分离,使得w e b 应用程序更接近m v c 最基本的承诺。论文 最后将改进后的框架应用到基于w e b 的智能大厦运行管理系统中,以证明此方 案的可行性。 在系统设计上,采用基于j 2 e em v c 模式的s t r u t s i x 模型的w e b 应用体系。 这样的体系结构有效地将业务逻辑、应用程序控制和数据显示功能模块区分开 来,可以分别集中开发任意模块而不用担心耦合问题,提高应用程序的柔韧性, 使整个系统的开发有条不紊、容易集成、便于维护升级。 关键字:m v c 、s t r u t s 、x s l 、s t m t s l x a b s tr a c t w i t ht h ee x t e n s i v ea p p l i c a t i o no fi n t e r a c ta n dw e bt e c h n o l o g y , m u l t i l a y e r w 曲s t r u c t u r eb a s e do nb sg r o w su pg r a d u a l l ya n db e c o m er i p e j 2 e et e c h n o l o g y s p e c i f i c a t i o no fs u nm i c r o s y s t e mc o r p s u p p l i e saw a yt od e s i g n ,d e v e l o p ,a s s e m b l e a n dd e p l o ya p p l i c a t i o n sb a s e do nc o m p o n e n tt e c h n o l o g y j 2 e ep l a t f o r mi sb a s e do na m u l t i l a y e rd i s t r i b u t i n ga p p l i c a t i o np a t t e r n 1 1 1 ea p p e a r a n c eo fm v cd e s i g np a t t e m m a k e st h el e v e l sa m o n gm o d e l ,c o n t r o l l e ra n dv i e wc l e a r l y , t h ee v e r ym o d u l ei s u n a t t a c h e d ,i m p r o v e sa g i l i t ya n dt h ev a l u eo fr e u s e s t r u t s i st h ea p p l i c a t i o n f r a m e w o r kw h i c hb a s e do nj 2 e ep l a t f o r ma n dm v cd e s i g np a t t e r n i te a s e st h e b u r d e no fc o n s t r u c t i n gm u f t i l a y e rw e ba p p l i c a t i o n sa n dp r o v i d e sr e u s a b l es o r w a r e a r c h i t e c t u r e i ns t r u t s v i e wi sm a d eu po fj s pa n dc u s t o mt a gl i b r a r i e s b e c a u s e o fs o m ed r a w b a c k so fj s pe s p e c i a l l yt h ej s ps y n t a xi sn o tx m lc o m p l i a n ta n d t h e r e f o r ef a i l st og u a r a n t e et h a tr e s u l t i n gx m lo rh t m ld o c u m e n t sw i l lb ew e l l f o r m e d s os t r u t sf r a m e w o r ki sn o tp r o v i d e dw i t l lg o o dp r e s e n t a t i o nl a y e rf l e x i b i l i t y a si ss t a t e da b o v e ,t h i st h e s i si n t r o d u c e sx s lt e c h n o l o g y o w i n gt ox s l s e p a r a t e sc o n t e n to fd a t af r o mr e p r e s e n t a t i o no ff o r m a t ,w ec a l lc o m b i n ex s lw i t l l s t r u t sa n di m p r o v ev i e wo fs t r u t s ,w ep r o v i d ean e wm o d e l s t n l t s i xa f t e r p u t t i n gf o r w a r dar a t i o n a ls o l u t i o n 。t h ee m p h a s i so ft h et h e s i si n c l u d e s o t h e r t e c h n o l o g i e sa n dv i r t u e so fs t r u t s l x ,i nt h i sm o d e l ,w eu s ex s la n dx s l tt o e n c o u r a g ep r o g r a m m e rs e p a r a t e so p e r a t i o nl o g i cf r o mr e p r e s e n t a t i o nl o g i c t h o r o u g h l y ,r e s u l ti n t h i sm o d e lm u c hm o r ea p p r o a c ht h ep r o m i s eo fm v c f i n a l l y ,w ea p p l y s t r u t s i x t ot h ei n t e l l i g e n tb u i l d i n gr u nm a n a g e m e n tw h i c h b a s e do nw 曲t op r o v et h i ss c h e m ei sa v a i l a b l e w e bd e s i g np a t t e mo fs t m t s l xm o d e lw h i c hb a s e do nj 2 e em v cm o d e li s a d o p t e dt od e s i g nt h ew h o l es y s t e m t 1 1 i sc a nd i v i d et h ea p p l i c a t i o ni n t ob u s i n e s s m o d u l e 、a p p l i c a t i o nc o n t r o l l i n gm o d u l ea n d d a t ad i s p l a y i n gm o d u l ei ne f f e c tw i t h o u t w o r r y i n ga b o u tc o u p l i n gp r o b l e m s ,i m p r o v ef l e x i l i t yo ft h ea p p l i c a t i o n ,d e v e l o pt h e s y s t e mi na no r d e r l yw a y , c o n v e n i e n tf o ri n t e g r a t i o n 、m a i n t e n a n c ea n du p g r a d e k e yw o r d s :m v c 、s t r u t s 、x s l 、s t m t s i x i i 武汉理工大学硕士学位论文 1 1 研究背景和意义 第1 章绪论 随着信息技术和网络技术的飞速发展,数字化社会即将到来。i n t e r n e t 提 供了无限的信息资源,它的普遍使用已经从根本上改变了人们的工作方式和生 活方式,也从一定程度上改变了企业的经营方式和服务方式。 在当前i n t e r n e t i n t r a n e t 迅速发展的今天,传统的c s 模式已经无法满 足企业级应用的需求,基于b s 模式的多层w e b 应用开发就应运而生并迅速的 发展起来,但是,即使采用最先进的软件开发平台j 2 e e ,开发这样的应用仍然 是个难题。在多层w e b 体系结构设计中,普遍存在着开发产品性能差、维护工 作量大、应变能力不足等缺点。因此,如何利用企业级分布式平台进行大规模、 快速、方便的组装开发w e b 应用,使得多层w e b 应用软件在面对复杂的网络环 境、多样化的用户需求、灵活的业务模式、复杂的业务流程、众多的组织机构 及层次、角色分工等问题时能简单高效的完成任务,成为我们首先需要解决的 问题。然而解决这些问题的关键是选择具有优良体系结构的w e b 应用框架,一 个优秀的w e b 应用框架不仅可以为w e b 应用系统提供优良的体系结构,提高w e b 应用系统开发的效率,而且可以节省项目的开发成本、缩短项目的开发周期、 降低项目管理的难度和风险、提升项目和产品的交付质量,使得w e b 应用开发 项目更容易获得成功。“1 m v c 是2 0 世纪8 0 年代x e r o xp a r c 为编程语言s m a l l t a l k 一8 0 发明的一种软 件设计模式,迄今已经成为一种成熟的优秀的设计模式。利用此模式开发w e b 应用,可将表现逻辑和业务逻辑分离,构建可复用的软件系统框架,同时简化 软件开发,提高软件性能和可维护性,达到提高软件质量的目的。 s t r u t s 是m v c 架构技术的一种具体实现,是a p a c h e 公司2 0 0 2 年5 月作为 一个项目的组成部分面世,项目的创立者希望通过对该项目的研究、改进和提 高j s p 以及面向对象设计的技术水平。s t r u t s 是一种非常优秀的基于j 2 e e 的 m v c 应用框架,使开发人员集中精力编写j s p 和业务逻辑而不用考虑基础框架问 题:提供了功能强大的t a g l i b 标记库,实现代码重用和抽象,大大提高了w e b 开发效率:利用s t r u t s c o n f i g x m l 提供灵活易用的系统导航机制;最大限度 武汉理工大学硕士学位论文 地集合了s e r v l e t 和j s p 的优点,使得页面设计者和程序开发者更好地协调工 作。然而,即使是最优秀的框架也有它不足的地方: 1 学习和理解s t r u t s 中的标志库,特别是b e a n 和h t m l 标志库的学习的确 要花费比较长的时间; 2 j s p 不能很好地支持x m l ,也就不能保证生成的结果文档( x m l 或h t m l 文档) 是1 0 0 的“格式良好”( w e l 卜f o r m e d ) ; 3 对j s p 页面的任何修改都会导致j s p 的重新编译,这是非常耗费时间 的。 综上所述,对现有w e b 框架s t r u t s 进行改进,以解决上述问题,使得 改进后的w e b 框架能够更好的支持多类型客户端的需求,增加对配置文件的管 理,变得日益迫切起来。 1 2 研究内容 论文主要针对1 1 节中提到的s t r u t s 框架的不足之处进行研究,提出将x s l 与s t r u t s 结合起来,形成一个新的模型s t r u t s i x 来更好的实现将页面显示 与业务逻辑分离,使得开发出来的多层架构的w e b 应用系统能够更高效、快速、 准确地处理各种信息。 为什么选择x s l 与s t r u t s 结合呢? 看一下x s l 技术具有哪些优势:x s l 是 w w w 协会推荐的一种标准。它的前两部分在1 9 9 9 年1 1 月已经成为w 3 c 推荐标准, 2 0 0 0 年,包括x s l 格式化部分的完整x s l 推荐标准成为w 3 c 的候选标准。x s l 实际上包含三种语言:转换x m l 的语言x s l t ;定义x m l 部分或模式的语言x p a t h ; 定义x s t l 显示方式的语言x s l 格式化对象。利用x s l t 可以方便地获得各种输出, 如纯文本、h t m l ,w m l 和其他各种x m l 格式,对于多种i n t e r n e t 访问设备都提 供了良好的支持。 本论文研究的主要内容是:首先从理论上论述了j 2 e e 平台的体系结构,接 着研究了框架的概念、意义等,然后研究了m v c 设计模式和在此模式上构建的 w e b 应用经典框架s t r u t s ,对与s t r u t s 相关的内容进行了深入地研究,剖 析了s t r u t s 框架中存在的不足之处,并对这些不足之处提出了一个解决方案, 将x s l 与s t r u t s 结合构成新的框架,在不改变s t r u t s 框架中的c o n t r o l l e r 和 m o d e l 部分的情况下,让x s l 替代j s p 来作为s t r u t s 框架的显示层,在学习了 2 武汉理工大学硕士学位论文 x s l 技术的同时对提出的这个方案进行了可行性研究,并重点论述了改进后的框 架s t r u t s l x 的基本原理和关键技术,最后将改进后的框架运用到智能大厦o a s 的设计中来证明此框架的可行性。 1 3 本文的组织 论文按照六个部分来进行阐述: 第一章绪论。主要论述了本论文的研究背景和意义,介绍了当今开发w e b 应用最流行的框架s t r u t s 并指出其不足之处,提出将x s l 技术与s t r u t s 框架 结合来解决s t r u t s 中存在的问题。 第二章j 2 e e 体系结构。介绍了j 2 e e 的体系结构和j 2 e e 平台的四个层次结 构,详细地讲解了j 2 e e 平台包含的三类技术组件技术,服务技术,通信技 术。 第三章基于m v c 模式的s t r u t s 框架。首先介绍了框架的概念和组成,其 次详细地论述了m v c 设计模式,在讲解m v c 设计模式以前,简要的介绍了设计 模式的概念、组成和分类,接着详细的阐述了m v c 设计模式中三个部分各自实 现的功能和两个j s p 模型,然后深入地研究了s t r u t s 框架的体系结构,s t r u t s 框架中的组件和s t r u t s 控制流,最后分析了s t r u t s 框架的优缺点。 第四章x s l 技术与s t r u t s 框架的结合。由于第三章分析了s t r u t s 框架的 缺点,因此这一章主要研究如何针对s t r u t s 框架的缺点来进行改进。首先介绍 了x s l 技术,其次详细的讲解了如何将x s l 技术与s t r u t s 框架结合起来,即提 出了新的模型s t r u t s l x ,然后研究了s t r u t s i x 中的技术和新模型的优点。 第五章基于s t r u t s l x 模型的应用。这部分内容主要讲解将前面提出的新 模型s t r u t s i x 应用到系统中,以发挥它的长处。首先对智能大厦办公自动化系 统做了简要的介绍,接着对智能大厦运行管理子系统进行概要设计,然后根据 m v c 设计模式分布从m o d e l 、c o n t r o l l e r 、v i e w 三个方面对系统进行详细设计, 最后做了一个简单的测试以证明s t r u t s i x 模型的可行性。 第六章全文的总结和对今后研究工作的展望。 3 武汉理工大学硕士学位论文 第2 章j 2 e e 体系结构 2 1j 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 2 e e ) 是s u n 公司在1 9 9 9 年6 月 推出的技术规范,该规范定义了一个多层企业信息系统的标准平台,旨在简化 和规范企业级应用系统的开发和部署。作为平台,j 2 e e 提供了一个多层结构的 分布式的应用程序模型,该模型具有重用组件的能力、基于扩展标记语言( x m l ) 的数据交换、统一的安全模式和灵活的事务控制机制。在此体系结构中,开发 者的注意力可以集中在封装业务逻辑上,应用程序容器或者服务器去处理与基 础结构服务相关的问题以及底层分配问题。j 2 e e 提供了事务处理、对象生存控 制、状态维持、并发控制、资源共享等系统服务,而这些服务只要通过简单的 配置就可以实现,这使得开发者可以从复杂且困难的系统设计中解脱出来,将 精力主要放在业务逻辑上,提高开发的质量,缩短项居开发的周期。“。 j 2 e e 是一个基于组件容器模型的系统平台,其核心概念是容器。所谓 容器就是指为特定组件提供服务的一个标准化的运行环境,j a v a 虚拟机就是个 典型的容器。j 2 e e 规范定义了四种不同类型的容器: a p p l e t 容器:运行和管理a p p l e t : 应用客户端容器:运行和管理标准j a v a 应用客户端程序: w e b 容器:运行和管理表现逻辑层的s e r v l e t 组件和j s p 组件; e j b 容器:运行和管理业务逻辑层的e j b 组件。 所谓组件是模块化程序设计方法发展到一定阶段的产物,从软件工程的角 度来考虑,开发者总是希望把一个庞大的应用程序划分成多个模块。其中,每 个模块都保持一定的功能独立性,协同工作良好的应用系统往往被切分成一些 组件,这些组件可以单独开发,单独编译,甚至单独调试和测试,当所有的组 件开发完成后,把他们组合在一起就得到了完整的应用系统,它们通过相互之 间的接口来完成实际的任务。我们把每一个这样的模块称之为组件。 在j 2 e e 平台中,w e b 客户和e j b 客户都通过各自的容器访问应用程序组件。 w e b 客户通过w e b 容器访问j s p 网页和j a v as e r v l e t ,而e j b 客户则是通 过e j b 容器访问e j b 组件。 4 武汉理工大学硕士学位论文 j 2 e e 平台使用了一个多层的分布式的应用程序模型。应用程序的逻辑根据其 实现的不同功能被封装到组件中,组成j 2 e e 应用程序的大量应用程序组件根据 r 酮 其在多层的j 2 e e 环境中所处的层被安装到不同的机器中。”。j 2 e e 的体系结构如 浏览器 j 2 e e 平台 、 w e b 容器 九 h i ,s rli s c “k t il 标签库i f 山fi 肾h 蜀l 止_ 桌面系统 卜 卜叫 e j b 容器 l e j b l 企业应 用系统 一 山 妻 u 凸 墨 其它设备 i 芭臼 _ h c l i e n tt i e r i一 c l i e n t m a c h i n e j 2 e es e r v e r m a c l l i n e e i s t i e r 【一 d a m b 髓es e r v e r m a c k n e 图2 一lj 2 e e 体系结构图 j 2 e e 平台由客户层( c 1 i e n t ) 、w e b 层( w e b ) 、商务逻辑层( b u s i n e s sl o g i c ) 和企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e m s ) 构成: 1 客户层:应用客户端,它可以是基于w e b 应用的,也可以是不基于w e b 的。 在一个基于w e b 的j 2 e e 应用系统中,浏览器负责显示由运行在w e b 层的w e b 组 件生成的包含各种标记语言( h t m l 、x m l 、x s l 等) 的w e b 页面,它可以通过运行 在w e b 层中的j s p 页面和s e r v l e t 与j 2 e e 服务器中的业务层进行通信。在一个 不基于w e b 的j 2 e e 应用系统中,一个独立的客户端j a v a 程序可以通过r m i i i o p 5 武汉理工大学硕士学位论文 直接访问运行在e j b 容器中的e j b 组件。 2 w e b 层:j 2 e e 的w e b 组件既可以是s e r v l e t 也可以是j s p 页面。s e r v l e t s 是一种服务器端程序,允许应用程序逻辑嵌入到h t t p 请求响应过程中,j s p 提 供了一种在网页中嵌入组件的方式。w e b 层也可以包括一个j a v a b e a n s 类来管理 用户输入,并将输入发送到业务逻辑层中运行的e j b 对象来处理。”。 3 业务逻辑层:构成了应用的业务逻辑规则,是整个应用的核心部分。它 按业务划分成一个个独的逻辑单立元e j b 。e j b 从客户程序端接收数据,对数据 进行处理,再将数据发送到企业信息系统层进行存储,还可以从存储中检索数 据,并将数据返回给客户端。业务逻辑层位于应用服务器中,应用服务器中的e j b 容器提供了分布式计算中组件所需要的组件生命周期的管理、数据库连接的管 理、分布式事务管理、自动容错以及负载的自动均衡能力等服务。实现业务逻 辑的e j - b 组件可以更加高效地运行在应用程序服务器中。 4 企业信息系统层( e i s ) :它主要是运行企业信息系统软件,如企业资源计 划( e r p ) 、客户关系管理( c r m ) 、数据库系统等系统软件。 2 2j 2 e e 平台中的主要技术 j 2 e e 规范定义了一个多层企业信息系统的标准平台,从简单的w e b 应用到 复杂的分布式企业级应用,几乎所有的应用,都可以在此平台上构建。j 2 e e 包 含众多不同技术,可以根据其应用进行下列分类:”。 组件技术这些技术用于保持应用程序最重要的部分业务逻辑。组件 有三种类型:j s p 网页、s e r v l e t 和e n t e r p r i s ej a v a b e a n 。 服务技术这些技术为应用程序组件提供了支持的服务,以便有效地工作。 通信技术这些技术大多数是与开发应用程序的程序员保持透明,提供了 应用程序不同部分之间的通信机制,不论它们是本地的还是远程的。 2 2 1 组件技术 一个j 2 e e 组件就是一个自带功能的软件单元。这些组件之间相互通信。j 2 e e 规范定义了如下组件: 1 s e r v l e t :s e r v l e t 是一些用来扩展w e b 服务器功能的w e b 组件,它基 于请求晌应机制。它在服务器端接收和响应用户请求,并将处理结果信息组织 6 武汉理工大学硕士学位论文 成h t m l 页面,通过服务器端发送给用户。 2 j s p :j s p 是另一种w e b 组件,它是基于j a v as e r v l e t 以及整个j a v a 体 系和w e b 开发技术,与s e r v l e t 相比,j s p 是在h t m l 中嵌入j s p 标签和j a v a 程 序片断生成动态数据与静态页面相结合的h t m l 网页,它实现了显示逻辑和处理 逻辑的分离。用户通过浏览器访问j s p 网页,服务器收到请求后触发j s p 引擎, 对于首次被访问的j s p 文件,引擎将其翻译成s e r v l e t 程序,再编译生成c l a s s 文件,由j v m 运行,生成响应页面发送给用户;当相同的j s p 网页再次被访问 时,j s p 引擎就直接调用已经装载的s e r v l e t 程序。 3 e j b :e j b 是j 2 e e 中的核心部分,是用于开发安全、可扩展、事务型和多 用户组件的一种分布式组件模型。e j b 可以部署在分布式多层体系结构环境中的 服务器端的软件组件,它允许把应用程序逻辑与系统级服务分开,使系统开发 人员集中精力编写具体的业务处理问题,而不必关心系统的编程。每个e j b 可 由一个或多个j a v a 对象组成,每个e j b 是按照相同的规范开发的,b e a n 之间可 以相互调用,实现任务的分解和进行业务处理,具有非常高的扩展性。”。 根据功能不同,将e j b 组件划分为三种基本类型:会话b e a n ( s e s s i o nb e a n ) , 实体b e a n ( e n t i t yb e a n ) 和消息驱动b e a n ( m e s s a g ed r i v e nb e a n ) 。 会话b e a n 代表与调用它的客户端程序的一次短暂会话,是客户端的扩展, 客户端通过调用s e s s i o n b e a n 的功能和j 2 e e 服务器通信。会话b e a n 又可分为: 有状态会话b e a n 和无状态会话b e a n 。前者是指客户机和服务器建立连接之后, 一直在它们之间保持着用户的某个状态:后者不需要从以前的请求中提取任何 状态,它通常被用于提供不保存任何特定状态的服务器端行为,一旦过程完成, 无状态会话b e a n 也宣告结束。 实体b e a n 代表处理底层持久性数据的组件模型,它存储在持久的存储机制 中,如数据库中。实体b e a n 是长寿命的,只要数据留在数据库中,e n t i t yb e a n 就存在。根据e n t i t y b e a n 的持续化管理方式不同,又可分为b m p ( b e a nm a n a g e d p e r s i s t e n c e ) 和c m p ( c o n t a i n e rm a n a g e dp e r s i s t e n c e ) 。b m p 是开发人员负责 实现持久性管理的处理逻辑,c m p 是不需开发人员负责的,由容器和部署工具来 负责实现和管理持久性逻辑。 消息驱动b e a n 用来接收和处理消息是e j b 规范支持异步处理的唯一方式。 消息驱动b e a n 不是由客户调用,它没有主接口和组件接口,而是与一个j m s ( j a v a m e s s a g es e r v i c e ) 目标相关联,只是在j m s 消息到达时从容器本身接受请求。 7 武汉理工大学硕士学位论文 e j b 容器非常复杂,一般由专业的j 2 e e 应用服务器开发商提供,比较流 行的e j b 容器有由b e a 公司的w e b l o g i cs e r v e r 、i b m 公司的w e b s p h e r e 、 s u n 公司的i p l a n e t 等。e j b 容器除了为e j b 提供事务处理、目录服务、持久 性管理和安全服务外,还负责e j b 的部署、发布和生命周期管理。 2 2 2 服务技术 服务是组件和容器之间,以及容器和j 2 e e 服务器之间的接口,在实现层 面上它就是一系列a p i 和协议。j 2 e e 平台定义了一组标准的服务,其中有些 服务是由j 2 s e 提供的,有些则是j 2 e e 对j a v a 的扩展。 1 j d b c :j d b c 是s u n 公司制定的j a v a 数据库连接技术,使用j d b cd r i v e r m a n a g e r 管理各数据库软件商提供的j d b c 驱动程序。开发人员使用j d b ca p i 编写访问库的程序,j d b ca p i 访问j d b cd r i v e rm a n a g e r ,j d b cd r i v e rm a n a g e r 通过j d b cd r i v e ra p i 访问不同的j d b c 驱动程序,实现对数据库的读取和操作。 j d b c 驱动程序分为四类: ( 1 ) j d b c o d b c 桥,将j d b c 调用转化为o d b c 调用,通过o d b c 驱动程序来 提供j d b c 对数据库的访问。使用这种方式访问后台数据库,必须将o d b c 二进制代码加载到使用该驱动程序的每个客户机上。因此,这种类型 的驱动程序最适合于企业网,或是用j a v a 编写的三层结构的应用程序 服务器代码。 ( 2 ) 本地a p i 部分j a v a 驱动程序,把客户机上的a p i 上的j d b c 调用转换 为o r a c l e 、s y b a s e 、i n f o r m i x 、d b 2 或其它d b m s 的调用。象j d b c o d b c 桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到 每台客户机上。 ( 3 ) 中间件的纯j a v a 驱动程序,将j d b c 调用转换为中间件的协议,再通 过中间件服务器访问数据库。这种网络服务器中间件能够将它的纯 j a v a 客户机连接到多种不同的数据库上。所用的具体协议取决于提供 者。 ( 4 ) 本地协议纯j a v a 驱动程序,由数据库厂商提供,将j d b c 调用转换为 特定数据库的网络协议,进行数据库访问。这种允许从客户机上直接 调用d b m s 服务器,是i n t r a n e t 访问的一个很实用的解决方法。由于 多种这样的协议都是专用的,因此数据库提供者自己将是主要来源。 8 武汉理工大学硕士学位论文 对于数据库的w e b 访问,主要是采用后两种驱动程序,因为他们对客户机 无任何要求,是真正的瘦客户机。 2 命名和目录服务j n d i :由于j 2 e e 应用程序组件一般分布在不同的机器上, 所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在j 2 e e 体系 中,为了简化在开发高级网络程序中对目录基础设施的访问,使用j n d i ( j a v a n a m i n ga n dd i r e c t o r yi n t e r f a c e ) 定位各种对象j n d i 设计。目录是一种特殊 的数据库,提供了对其数据存储的快速访问,目录数据库是以一种读取优化 ( r e a d o p t i m i z e d ) 的层次结构来存储信息。传统上,我们需要使用不同的a p i 来访问不同的目录服务。 3 j a v a 事务处理a p i ( j t a ) 和事务处理服务( j t s ) :j t a 定义了种标准 的a p i ,应用系统由此可以存取各种事务监控。j t s 是c o r b ao t g 事务监控的基 本的实现,它规定了事务管理器的实现方式,该事务管理器是在高层支持j a v a t r a n s a c t i o na p i ( j i a ) 规范,并且在较底层实现o m go t ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管 理器提供了事务服务。 4 j a v a 消息服务( j m s ) :j m s 是用于和面向消息的中间件相互通信的应用 程序接口( a p i ) 。它既支持点对点的域,又支持发布订阅( p u b l i s h s u b s c r i b e ) 类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传 递,一致性消息和具有持久性的订阅者支持。 5 j a v a m a i l :j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮件 服务器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。它利用j a v a b e a r 】s a c t i v a t i o nf r a m e w o r k ( j a f ) 来处理m i m e 一编码的邮件附件,m i m e 的字节流可 以被转换成j a v a 对象,或者转换自j a v a 对象。由此大多数应用都可以不需要 直接使用j a f 。 6 j a v a 验证和授权服务( j a a s ) :j a a s ( j a v aa u t h e n t i c a t i o na n d a u t h o r i z a t i o ns e r v i c e ) 用两个步骤实现安全性。认证,即由用户提供认证信 息( 如用户名和密码) 来取得系统认证,这一过程又称为登录:授权,在被确 认为合法用户后,系统根据用户的角色授予其相应的权限。 7 j 2 e e 连接器架构( j c a ) :j c a ( j a v ac o n n e c t o ra r c h i t e c t u r e ) a p i 使 用户可以从一个j 2 e e 部署访问现有企业信息系统。这些现有系统包括运行着 高端事务处理的大型机系统,企业资源计划系统( e r p ) 或者用户自己的专有系 9 武汉理工大学硕士学位论文 统。 2 2 3 通信技术 1 ,j a v a 远程方法调用( j a v ar e m o t em e t h o di n v o c a t i o n ,r m i ) 和r m i i l o p : r m i 协议是在远程对象上调用一些方法。它使用了连续序列方式在客户端和服务 器端传递数据。r m i 是一种被e j b 使用的更下层的协议。 2 j a v ai d l :在j a v ai d l 的支持下,开发人员可以将j a v a 和c o r b a 集成 在一起。他们可以创建j a v a 对象并使之可在c o r b ao r b 中展开,或者他们还 可以创建j a v a 类并作为和其它o r b 一起展开的c o r b a 对象的客户。 1 0 武汉理工大学硕士学位论文 第3 章基于m v o 模式的s t r u t s 框架 本章研究的主要内容是j 2 e e 平台首选的设计模式m v c 模式,以及m v c 模式 在基于j g p s e r v l e t 的w e b 应用中的典型实现s t r u t s 框架。在介绍s t r u t s 框架之前,将简要的介绍下有关框架和设计模式的内容,然后引出s t r u t s 框 架以及对s t r u t s 框架中所用到的技术进行研究。 3 1框架 3 1 1 框架的概念9 1 在当今激烈的市场竞争中,采用框架来开发软件是重要的技术策略和市场 策略。每一个开发团队都会在某一方面的项目开发经验基础之上,总结出适合 自己的应用开发框架,强化这方面的技术优势,同时在实际开发中不断地完善 框架和开发流程,提高技术水平,已达到一个有效的可积累的循环的开发过程。 1 1 框架是面向对象系统可以获得的最大复用方式,较大的系统将会由多层彼 此合作的框架组成,框架具有如下特点: 1 框架是一组协作的类,它不仅仅由一组静态的类组成,更重要的是类之 间的相互合作,即它封装了控制流程。更进一步,框架建立了组件的集成机制, 提供了组件间协同工作的环境。 2 框架是某类应用的半成品,相当于一个大的功能模板,其中包括某一特 定领域中所有应用的共同的固有的方面( 可称为“固点”) ,也包括对于一个具 体应用需要修改和扩充的地方( 可称为“热点”) 。因此,框架既具有一定的标 准性,又具有一定的灵活性。 3 框架具有较高层次的可复用性,它提供了对设计和代码的复用。在开发 中,一类相似的应用共享了框架的固点,这相当于对代码的复用;同时,在开 发这些应用时,为了有效的使用和扩展框架,使用者必须了解框架的控制结构 和设计决策,而这则是对设计和分析的复用。 武汉理工大学硕士学位论文 3 1 2 框架体系的组成 1 框架体系“是基于请求响应( r e q u e s t r e s p o n s e ) 模式的应用,一般有如下 几个表现逻辑结构组成: 1 控制器( c o n t r o l l e r ) 控制整个框架中各个组件的协调工作。 2 业务逻辑层( b u s i n e s sl o g i c ) 这是框架所要解决问题的关键部分。要弄清的是,这里框架本身只是实现 了一些概念以及提供基础服务的基础组件,真正的实现与客户的业务逻辑“结 合”,还需要开发人员在框架提供的基础之上扩展、实现。 3 数据逻辑层( d a t al o g i c ) 大部分应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和 数据访问接口。 使用框架可以使开发者专注于业务逻辑,而不用去做大量的基础开发工作, 并减少了编码、调试和测试的工作量,由于上述的种种优点,框架的使用已经 越来越普遍。框架在高层系统结构中的位置如图3 一l 所示: 图3 1 框架在高层系统结构中的位置 1 2 武汉理工大学硕士学位论文 3 2m v c 设计模式 3 2 1 设计模式概述 c h r i s t o p h e r 给出了一个广泛意义上的设计模式概念:“每一个模式描述了 一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样, 你就能一次又一次的使用该方案而不必做重复劳动”。具体到设计面向对象软件 这一领域,可以这样认为:设计模式就是对被用来在特定场景下解决一般设计问 题的类和相互通信的对象的描述。每一个设计模式都有系统命名、解释和评价 了的面向对象系统中一个重要的和重复出现的设计。“ 通常一个设计模式由四个基本要素组成: 1 模式名称( p a t t e r nn a m e ) :设计模式允许人们在较高的抽象层次上进行 设计,模式名可以帮助人们思考,便于人们之间交流设计思想和设计结果; 2 问题( p r o b l e m ) :描述了该设计模式的使用条件,它解释了设计问题和 问题存在的前因后果,它可能描述了特定的设计问题,也可能描述了导致不灵 活设计的类和对象结构; 3 解决方案( s o l u t i o n ) :描述了设计的组成成分,它们之间的相互关系及 各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所 以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象 描述和怎样用一个具有一般意义的元素组合( 类或对象组合) 来解决这个问题: 4 效果( c o n s e q u e n c e s ) :描述该设计模式的应用效果及使用该模式应权衡 的问题。尽管在描述设计决策时,并不总提到模式效果,但它们对于评价设计 选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和 空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素 之一,所以模式效果包括它对系统的灵活性、扩充性和可移植性的影响,显式 地列出这些效果对理解和评价这些模式很有帮助。 由于设计模式在对象的粒度和抽象层次上不同,按照不同的应用原则,可 以将标准的设计模式分为三类: 1 创建型设计模式( c t e a t i o n a lp a t t e r n s ) :用于创建对象: 2 结构型设计模式( s t r u c t u r a lp a t t e r n s ) :用于将类和对象组合得到相 应的结构; 1 3 武汉理工大学硕士学位论文 3 行为型设计模式( b e h a v i o r a lp a t t e r n s ) :描述类和对象之间如何交互, 一个任务如何交由不同的对象进行处理。 不同的设计模式具有下面一些共性:“” i 设计模式都是从实践中获得的。设计模式是被“发现”的,而不是被“写 作”出来的: 2 设计模式表达好的设计。设计模式并不仅是关于对象的设计,而且关于 对象间的通信,因此有时也称为“通信模式”; 3 提出设计模式的目的之一都是避免重复的劳动,提高软件的可重用性;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年风电项目噪声环境影响后评价与治理措施报告
- 2025年医养结合养老机构老年人身心健康促进服务区域政策环境报告
- 施工专业考试题及答案
- 康复专业面试题及答案解析
- 第四章 隋唐时期社会概况和文化说课稿-2025-2026学年中职历史中国历史 (全一册)人教版
- Unit 7 Mingming's diary教学设计-2025-2026学年小学英语新世纪英语五年级上册-新世纪英语
- 成人高考试题及答案医学
- Unit 4 Friends Forever Understanding Ideas Click for a Friend 教学设计 -2024-2025学年高一上学期英语外研版(2019)必修第一册
- 手术器械考试题库及答案
- 水平沟鱼鳞沟施工方案
- 采购报告范文
- 某县某年度高标准基本农田建设项目复核报告
- 医学教材 围术期过敏反应
- 【MOOC】管理会计学-西南财经大学 中国大学慕课MOOC答案
- 现代辅助生殖技术护理伦理
- 体育设施建设造价评估方案
- 风力发电运维值班员(高级工)理论考试题库(浓缩400题)
- 人美版美术七年级上册第一单元《第2课 品篆刻之美》课件
- 宪法培训课件教学课件
- 华为全球培训中心
- 2023药品耗材集中带量采购知识标准培训模版课件
评论
0/150
提交评论