(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于struts框架网上购物系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着互联网的发展和全球经济一体化,电子商务的建设变得非常重要。近 年来,网络的迅猛发展给人们生活各个方面带来很大的便利,也使得企业向着 信息化的方向发展。同时,企业的需求也带来了w e b 开发技术的更新。在经历 了c g i ,a s p ,j s p 之后,s u n 公司整合多种技术标准提出了j 2 e e 这一企业级 开发平台,已非常成熟,并得到飞速发展。 要构建一个成功的系统,除了掌握新的技术外,还需要很多其他方面的知 识,比如设计模式。设计模式是一套被反复使用、多数人知晓的、代码设计经 验的总结。使用设计模式的好处就是做到了代码重用、让代码更容易被他人理 解、保证代码可靠性。因此,在实现购物系统的过程中,本文引入了设计模式 的概念。m v c 设计模式能够消除传统w e b 应用开发方式所具有的弊端并分离数 据的控制和表现,以适应越来越复杂的多层w e b 应用系统的设计需求。因此, 采用基于m v c 设计模式成为开发j 2 e ew e b 应用的首选。 在基础理论部分,本文以网上购物系统作为背景,首先,本文简要介绍了 建立电子商务的必要性和w e b 体系结构。然后,文章详细阐述了j s p 编程的两 种模式、m v c 模式和s t r u t s 框架的工作原理。最后,深入分析了在s h u t s 实现 m v c 模式的w e b 应用过程中的关键技术。s t r u t s 是a p a c h e 软件组织开发的开放 源代码的w e b 应用程序框架,是当前w e b 应用开发中最流行的框架之一。它的 本质就是在j s pm o d e l 2 的基础上实现的一个m v c 框架。在w e b 应用开发中, 它强制性地把界面和业务逻辑分离,有利于网页设计者和程序设计者的分工, 提高了代码的可重用性、灵活性以及软件的性能和可维护性,从而开发出安全 的,高质量、可复用和易扩展的电子商务系统。 基于以上分析,在实现过程中使用s t r u t s 技术构建了网上购物系统。本文重 点介绍了系统的实现阶段,包括开发环境的搭建和用s h u t s 框架来构建m v c 的 模型、视图及控制器。该系统实现了用户注册与登录、浏览商品、购买商品和 订单处理等主要操作功能。从本文的论述可以看出,在开发w e b 应用时,基于 j 2 e e 技术的s t r u t s 框架的m v c 模式,能够实现业务逻辑和显示页面的分离,规 范整个系统的开发并提高代码质量和系统开发效率。 关键词:j 2 e e ,m v c ,s t r u t s ,d a o ,电子商务 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ei n t e m e ta n dg l o b a le c o n o m i ci n t e g r a t i o n , t h e b u i l d i n go fe - c o m m e r t :ei sv e r yi m p o r t a n t i nr e c e n ty e a r s ,w i t ht h ed e v e l o p m e n to f i n t e r a c tt e c h n i c a l ,t h en e t w o r kb r i n g sm o r ea n dm o r ec o n v e n i e n c e st op e o p l e sl i v i n g i ne v e r ya s p e c ta n da l s ou r g e st h ei n f o r m a t i o n a ld e v e l o p m e n to ft h ee n t e r p r i s e a tt h e s a m et i m et h en e e do ft h eb u s i n e s sa l s op r o m o t e st h ew e b d e v e l o p t e c h n i c a lr e n e w a l a f t e re x p e r i e n c i n gc g i ,a s pa n dj s p , t h es u n c o m p a n yp u tf o r w a r dt h ej 2 e eb a s e d o nv a r i o u st e c h n i q u e s i th a sb e c o m eg r a d u a l l ym a t u r ea n d d e v e l o p e dr a p i d l y i no r d e rt ob u i l du pas u c c e s s f u ls y s t e m ,w es t i l ln e e dal o to fk n o w l e d g es u c ha s u s i n gd e s i g np a t t e r ni na d d i t i o nt ol e a r n i n gt h en e wt e c h n i q u e d e s i g np a t t e r ni sas e t o fc o d ed e s i g ns u m m a r yt h a ti su s e do v e ra n do v e ra g a i na n dk n o w n b ym a j o r i t y u s i n gd e s i g np a u e r nc a na t t a i nt h ec o d er e u s e ,m a k ec o d em o r ee a s i l yu n d e 玛t o o db y o t h e r sa n dg u a r a n t e et h ec o d ei sr e l i a b l e s ot h ec o n c e p to fd e s i g np a r e m si s i n t r o d u c e di nt h er e a l i z a t i o no ft h es y s t e m t h em v cp a t t e r nc a no v e r c o m e d i s a d v a n t a g e so ft h ed e v e l o p m e n tf a s h i o no ft r a d i t i o n a lw e ba p p l i c a t i o n i ts e p a r a t e s t h ec o n t r o lo fd a t aa n dt h ev i e wo fd a t as oa st om e e tt h ed e m a n dt ot h em u l t i l a y e r w e b a p p l i c a t i o nc o m p l i c a t e dm o r ea n dm o r e s ot h em v cp a t t e r ni st h ef i r s tc h o i c e o f d e v e l o p i n gt h ej 2 e e w e b a p p l i c a t i o n i nt h ep a r to f b a s i ct h e o r y , b a s e do nt h eo n l i n es h o p p i n gs y s t e ma sab a c k g r o u n d , a tf r s tt h ep a p e rb r i e f l yi n t r o d u c et h en e e df o rt h ee s t a b l i s h m e n to fe - c o m m e r c e ,w e b a p p l i c a t i o na r c h i t e c t u r ea n dt h ea d v a n t a g e so fc o n s t r u c t i o no ft h ew e ba p p l i c a t i o n b a s e dm lt h ej 2 e e , s e c o n d l ye l a b o r a t et h et w oj s pp r o g r a m m i n gm o d e l ,t h em v c m o d e la n dt h e w o r k i n gp r i n c i p l e s o fs t r u t sf r a m e w o r l l a s t l y , t h e c r i t i c a l t e c h n o l o g i e si sd e s c r i b e di nt h ea p p l i c a t i o no fw e bu s e ds t r u t s s t r u t si sa no p e n s o u r c ef r a m e w o r kf o rb u i l d i n gj a v aw e ba p p l i c a t i o nw h i c hw a s d e v e l o p e db ya p a c h e s o f t w a r eo r g a n i z m i o na n di so n eo ft h em o s tp o p u l a rf r a m e w o r k sf o rw e b a p p l i c a t i o n s a n dd e v e l o p m e n t sn o w a d a y s s t r u t sa c h i e v e sm v c a p p l i c a t i o na r c h i t e c t u r e sb a s e do n t h em o d e l 2a p p r o a c h i ts e p a r a t e st h ev i e wa n dt h eb u s i n e s sl o g i cf o r c i b l y , s oi ti s p r o p i t i o u st ot h es e p a r a t i o no f t h ew e bd e s i g n e ra n dt h ep r o g r a m m i n gd e s i g n e r , a n di t i m p r o v e st h er e u s a b i l i t y , a g i l i t yo ft h ec o d ea n dt h eq u a l i t ya n dm a i n t a i n a b i l i t yo f s o f t w a r e u s i n gt h e 疗a m e w o r la n ds ot h eh i g hq u a l i t y , r e u s a b l ea n de x t e n s i b l e e - c o m m e r c es y s t e mc a nb ed e v e l o p e d o nt h eb a s i so ft h es t u d yo fs t r u t st e c h n o l o g y , t h e s et e c h n o l o g i e sa r et ou 5 et o c o n s t r u c ta no n l i n es h o p p i n gs y s t e m t h ep a p e rl a i de m p h a s i so ns y s t e mr e a l i z a t i o n f i m f l gi d ew a sc o n s t r u c t e d 。i nt h en e x t ,t h ep a p e rd e s c r i b e dh o wt ou s es t r u t st o i m p l e m e mt h em o d e l ,v i e wa n dc o n t r o l l e rf o rm v c t h es y s t e mr e a l i z e ds u c h f u n c - d o na st h er e g i s t e ra n dl o g i no fu s e r s ,t h em e r c h a n d i s eb r o w s i n g , t h ep u r c h a s eo f g o o d s ,o r d e rp r o c e s s i n ga n do t h e rm a j o rf e a t u r e a c c o r d i n gt od e p i c t i o no f t h ep a p e r , u s i n gt h ep a t t e r no fs t r u t sm v cb a s e do l lj 2 e ei nt h ed e v e l o p m e n to fw e b a p p l i c a t i o n , w h i c hc a nr e a l i z et h ei s o l a t i o no fb u s i n e 路l o # ca n dd i s p l a yp a g e s , s i m p l i f yt h ew o r ko fe a c hs t a g e ,n o r m a l i z et h ed e v e l o p m e n to fw h o l es y s t e ma n d i n c r e a s et h ec o d eq u a l i t ya n dt h es y s t e me f f i d e n d e s k e y w o r d s :j 2 e e ,m v c ,s t r u t s ,d a o ,e - g o m m e r c e i n 此页若属实请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:盘超日期丝直至皇旦i 口日 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容。可以采用影印、缩印或其他复制 手段保存论文 ( 保密的论文在解密后应遵守此规定) 研究生签名: 查圭超导师签名: 注:请将此声明装订在学位论文的目录前 武汉理工大学硕士学位论文 1 1 研究背景 第1 章绪论 随着通信网络技术的飞速发展特别是i n t e m e t 的不断普及,人们的消费观念 和整个商务系统发生了巨大变化,越来越多的人开始通过i n t e m e t 进行新型的商 务活动,最终导致了电子商务的出现和快速发展。 鉴于其广阔的市场前景和诱人的经济利益,电子商务正受到世界各国尤其 是发达国家的高度重视,并不遗余力地发展电子商务。拥有全球3 4 网络资源的 美国,电子商务应用的规模和领域不断扩大,涌现出一批像a m a z o n 、e b a y 等著 名的购物网站。 在购物网站开发技术方面,比较流行的是c g i 、j s p 、p h i 、a s p 和a s en e t 技术,然而基于传统的w e b 应用开发工具将页面显示、商业逻辑和数据处理大 部分都集中在页面代码中,使得商业逻辑、数据处理和页面显示强耦合,导致 w e b 应用扩展维护比较困难,并不利于开发人员的分工协作。 由于传统的开发工具在大型w e b 应用开发中显得力不从心,因此迫切需要 一种全新的w e b 应用设计技术和开发工具,可以将页面显示、商业逻辑和数据 处理相分离,以最大限度地降低系统各部分之间的耦合性,增强系统的可扩展 维护性,提高代码重用率,使系统的层次结构更加清晰,易于开发人员分工协 作和充分发挥各自特长,以快速响应企业的经营战略和业务逻辑变化。正是基 于这一需求,产生了m v c 架构技术及s t r u t s 技术。 1 2 研究现状 s t r u t s 最早是作为a p a c h ej a k a r t a 项目的组成部分,项目的创立者希望通过 对该项目的研究,改进和提高j a v a s e r v e rp a g e s 、s e r v l e t 、标签库以及面向对象 的技术水准。软件工程师使用s t r u t s 为业务应用的每一层提供支持。它的目的是 为了帮助开发人员减少在运用m v c 设计模型来开发w e b 应用的时间。开发人 员仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果 武汉理工大学硕士学位论文 想混合使用s e r v l e t 和j s p 的优点来建立可扩展的应用,s 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 之外,还有其 他成功的开源产品,包括t o m c a t ,a n t 和v e l o c i t y 。2 0 0 0 年c r a i gr m c c i a n a h a n 先生贡献了他编写的j s pm o d e l2 架构之a p p l i c a t i o nf r a m e w o r k 原始程序代码 给a p a c h e 基金会,成为a p a c h ej a k a r t a 计划s t r u t sf r a m e w o r k 前身。 开始的代码基础从2 0 0 0 年5 月开始开发,直到2 0 0 1 年6 月,1 0 版本发布。 有3 0 多个开发者参与进来,并有数千人参与到讨论组中。s t r u t s 代码基础由一 个志愿的c o m m i t t e r 团队来管理。到2 0 0 2 年,s t r u t s 小组共有9 个志愿c o m m i t t e r 。 s t r u t s 框架的主要架构设计和开发者是c r a i gr m c c l a n a h a n 。c r a i g 也是 t o m c a t 4 的主要架构师,以及j a v a w e b s e r v i c e s d e v e l o p e r p a c k 的主要架构师和 实现者。他现在是s u n 的j a v a s e r v e rf a c e s 以及j 2 e e 平台的w e b 层架构的规范 领导。c r a i gr m c c l a n a h a n 先生是j c pe x p e r t g r o u p 成员之一,曾参与j s p 规 格制定与t o m c a t4 之编写,因此s t r u t sf r a m e w o r k 广受j a v a 开发人员群体所重 视。b o r l a n d 自2 0 0 2 年底开始于开发工具j b u i l d e r 中支持s t r u t sf r a m e w o r k 。 在国内,程序员作为一本颇有影响力的专业杂志,于2 0 0 2 第1 0 期在技 术专题中通过 s t r u t s 的体系结构、 s t r u t s 开发及项目实施等四篇文章较早 的介绍了s t r u t s 技术。而随着近两年对外交流和对外软件外包业务的发展,国内 越来越多的公司在项目开发中开始采用s t r u t s 技术,在技术上日益成熟,站在了 技术前沿。 目前,有很多的组织和个人参与到s t r u t s 框架的开发中来,使得s t r u t s 保持 了高速成长。与此同时,利用s t r u t s 作为开发框架的应用越来越多,最终使s t r u t s 成为了w e b 应用m v c 模式中v c 部分事实上的标准。 1 3 研究内容和论文组织 论文的主题是基于s t r u t s 框架网上购物系统的研究与实现,在文中,通 过对m v c 设计模式的分析研究,体现出该模式对w e b 应用开发的重要意义。 本文在对s t r u t s 应用框架进行详细分析后,将其具体应用于“网上购物系统” 的开发设计之中。 文章总体上分为三大部分:第一部分,即论文的第一章介绍了课题的相关背 景知识、发展状况、课题来源及文章结构;第二部分,即论文的第二章、第三 2 武汉理工大学硕士学位论文 章、第四章介绍了课题涉及的理论知识,m v c 模式及s t r u t s 框架的技术概论和 特点,为实际项目的开发打下理论基础;第三部分,即论文的第五章通过“网 上购物系统”的实现阐述了s t r u t s 的实际应用开发,在第六章进行了总结和展 望。 3 武汉理工大学硕士学位论文 第2 章w e b 应用体系结构和j 2 e e 技术 2 1w e b 应用体系结构 2 1 1c s 体系结构 c s 模式是一种两层结构的系统,第一层是在客户机上处理表示逻辑与业务 逻辑,第二层则是通过网络运行的数据库等服务器系统。它是软件系统体系结 构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到c l i e n t 端和 s e r v e r 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 c l i e n t s e r v e r 形式的两层结构,由于现在的软件应用系统正在向分布式的w c b 应用发展,w e b 和c l i e n t s e r v e r 应用都可以进行同样的业务处理,应用不同的 模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用 系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应 用系统的发展方向。 c s 模式将事务分开进行处理,实现了网络的分布式计算,很长时间里也帮 助企业实现了局域网建设,完善了企业内部业务管理,提高了工作效率。然而 c s 模式在系统的集成与维护、操作界面一致性、系统的扩展性等方面都存在明 显的局限性,所以就像主机终端式网络被c s 模式的网络系统所取代一样,在 i n t e m e t i n t r a n c t 技术环境里,也会出现更新的系统模式。 2 1 2b 偈体系结构 b s 结构( b r o w s e r s e r v e r 结构) 结构即浏览器和服务器结构。它是随着 i n t e r n e t 技术的兴起,对c s 结构的一种变化或者改进的结构。在这种结构下, 用户工作界面是通过w w w 浏览器来实现,极少部分事务逻辑在前端( b r o w s e r ) 实现,但是主要事务逻辑在服务器端( s e r v e r ) 实现,形成所谓三层3 - t i e r 结构。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量, 降低了用户的总体成本( t c o ) 。以目前的技术看,局域网建立b s 结构的网 络应用,并通过i n t e m e t i n t r a n e t 模式下数据库应用,相对易于把握、成本也是 4 武汉理工大学硕士学位论文 较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同 的接入方式( 比如l a n 、w a n 、i n t e r n e t i n t r a n e t 等) 访问和操作共同的数据 库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别 是在j a v a 这样的跨平台语言出现之后,b s 架构管理软件更是方便、快捷、高 效。 典型的b s 结构属于三层体系结构,它把应用分解为三个不同的逻辑层次, 各有一套定义好的接口。第一层是表示层,由某种图形用户接口组成;中间层 由应用逻辑组成,由用户通过表示层调用代码,来检索所需的数据;第三层是 数据层,这些数据可以由任何信息资源组成,包括o r a c l e 、s q l s e r v e r 、s y b a 这样的企业数据库,还有x m l 文档。三层结构把用户接口、应用逻辑、数据分 开,大大提高了设计应用的灵活性。 b 届结构使数据及应用可通过不同平台、不同网络存取,与平台无关,伸缩 性大,为企业提供了开放的标准的综合性计算环境。b s 集成了c s 的优点,把 c s 模式的服务器端进一步深化,分解成w c b 服务器和数据库服务器,同时简 化了客户端,仅保留表示功能,将其计算功能移至应用服务器,从而形成了由 表示层、业务逻辑层、数据服务层构成的典型的三层分布式结构。表示层为用 户提供人机交互界面,所有的数据录入、显示操作都在此完成,当用户需要进 行数据交换时,是不允许直接访问数据库服务器,而是通过业务逻辑层提供的 接口进行访问,这样保证了后台数据的安全性,同时实现了真正意义上的瘦客 户;业务逻辑层负责对输入的数据按照业务逻辑进行加工处理,并实现对数据 库服务器的访问;数据服务层包含应用程序需要的数据,为应用提供数据来源, 保证数据的低冗余、结构性、完整性和一致性。b s 三层体系结构如图2 - 1 所示。 表示层业务逻辑层 数据层 图2 - 1b s 三层体系结构 b s 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软 件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易, 5 武汉理工大学硕士学位论文 只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。 在三层结构的w e b 技术中,数据库不是直接向每个客户机提供服务,而是 与w e b 服务器沟通,实现了对客户信息服务的动态性、实时性和交互性。通过 使用三层体系结构,性能、网络流量和维护问题都可以解决,但是还缺少可重 用性和可伸缩性,因此又提出了n 层体系结构。 2 1 3 n 层体系结构 对三层体系结构还可以进一步分隔,从而生成n 层体系结构,我们只有扩展 中间层使它不仅仅是一个应用,而是包含多个应用对象,如图2 - 2 所示。实际上, 为n 层系统定义应用程序层并不是一成不变的,此类系统可以支持多种不同的 配置。在n 层体系结构中,应用程序逻辑可以按照功能来划分: 1 用户界面:负责处理用户与应用程序的交互,这可以是浏览器、桌面应 用程序、无线设备等; 2 表示逻辑:定义用户界面显示的内容以及对用户的请求如何进行处理对 于不同的用户,表示逻辑层的版本会有所不同; 3 业务逻辑:确定了应用程序的业务规则,程序通过业务逻辑与应用程序 数据交互; 4 基础设施服务:提供了应用程序组件要求的其他功能,如传输消息事务 支持; 5 数据层:存储企业应用需要的数据。 n 层体系结构如下图2 2 所示: 6 武汉理工大学硕士学位论文 表示层 业务逻辑层 数据层 图2 - 2 n 层应用体系结构 当前,三层和n 层结构是w e b 应用中的主流体系结构。 三层( n 层) 体系结构具有如下优势: 1 优化了系统结构:将系统分为三层( 或n 层) ,业务逻辑放在应用服软件 的维护集中在应用服务层,客户端的维护就相对简单多了,有利于软件维护及 系统管理。 2 提高了应用系统的安全性:将客户端与数据库隔离起来,客户端无权限 自己访问数据库,有利于安全管理。 3 卓越的扩展能力:若要提高系统性能、处理速度,可增加应用服务器, 分担一部分应用服务器上的工作即可,而原来的应用服务器几乎可以不用改变。 4 减少网络数据流量和提高数据库响应速度:基于w e b 的三层应用体系结 构中,应用服务器层的引入有效地解决了网络瓶颈和数据库连接数过多引起数 据库性能下降的问题。应用服务器层往往有多台服务器,可有效地解决客户机 访问服务器层的瓶颈。应用服务器与数据库服务器可方便地采用宽带网连接, 不会产生与数据库服务器层网络瓶颈。 7 武汉理工大学硕士学位论文 5 提高系统性能:基于w e b 的三层体系结构能更好地调整应用体系。可以 利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。 2 2j 2 e e 简介 本文主要分析和实现的是一个基于s t r u t s 框架的应用,而s t r u t s 是基于m v c 设计模式,符合j 2 e e 规范的一种开源框架,所以首先有必要先介绍一下j 2 e e , m v c 设计模式和s t r u t s 的相关知识。 1 1 】 3 1 】。 这一节仅提纲性地介绍j 2 e e 的技术及特点,因为正是由于j 2 e e 平台的推 出和发展,才产生了s t r u t s 框架,可以说如果没有j 2 e e 平台,就不会有现在的 s t r u t s 。 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 的缩写,它是s u n 公司提出的 一种分布式企业级应用开发的技术架构,是一种利用j a v a2 平台简化企业解决 方案的开发、部署和管理相关复杂问题的体系结构。j 2 e e 技术的基础就是核心 j a v a 平台或j a v a2 平台的标准版。 j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特 性、方便存取数据库的j d b ca p i ,c o r b a 技术,以及能够在i n t e r a c t 应用中 保护数据的安全模式等,同时还提供了对e j b ,j s p 及x m l 技术的全面支持。 其最终目的就是成为一个能够使企业开发者大幅度缩短投放市场时间的体系结 构。其优势主要是为搭建具有可伸缩性、灵活性、易维护性的业务系统提供了 良好的机制,具体优势如下: ( 1 ) j 2 e e 是由s u n 引导,各厂商共同发起的,并得到广泛认可的业界标 准。因此它拥有良好的市场和旺盛的生命力。 ( 2 ) j 2 e e 具有良好的开放性和可移植性,它可保留已有的信息资源,并 可适应未来的变化。 ( 3 ) j 2 e e 可缩短系统开发时间。 ( 4 ) 支持分布式计算、支持多种终端。 在文章中的第四章介绍了j 2 e e 的一个实现s t r u t s ,以及在s t r u t s 中是如何 实现m v c 这一模式的。h 8 武汉理工大学硕士学位论文 2 3 基于j 2 e e 的w e b 应用框架 框架是为了支持企业在软件开发方面的需求,提供给开发人员使用的一个基 础平台。它提供了一整套预制的软件构架,能够为开发者所使用、扩展及定制 以满足特定的业务需求。它有以下特点: ( 1 ) 框架是一些软件系统的全部或部分可再使用的设计,是由一组类及他 们的实例交互的方式组成。 ( 2 ) 框架是一个应用系统的骨架,可由系统开发者自己定制。 ( 3 ) 框架是一个可再使用、近似完成的应用系统,可根据特定需求产生客 户要求的应用系统。 如今,j 2 e e 平台已经日趋成熟,并得到广泛的应用。在j 2 e e 技术中发展最 迅猛的当属j a v as e r v e rp a g e 技术。几乎所有的基于j a v a 的w 曲应用都使用j s p 。 一些开放源代码的j s p s e r v l e t 容器,如a p a c h e 软件组织提供的t o m c a t ,更进一 步推动了j s p 技术的发展。随着j s p 技术的成熟,越来越多的开发人员开始使 用w e b 应用框架。框架为w e b 应用提供了预备的软件架构和相关的软件包,它 大大提高了开发w e b 应用的速度和效率。现在,当开发人员开始一个新的项目 时,首先考虑的问题不是“是否需要框架”,而是“应该使用什么样的框架”。 当前基于j 2 e e 的应用框架主要集中在w e b 层,旨在规范这一层的软件开发。 现今基于j 2 e e 的w e b 应用框架主要如下i 铡: ( 1 ) a p a c h es t r u t s s t r u t s 是一个开放源代码的w e b 层的应用框架,a p a c h e 软件基金致力于s t r u t s 的开发。s t r u t s 具有高可配置性,和有一个不断增长的特性列表,一个前端控制 组件,一系列动作类,动作映射,处理x m l 的实用工具类,服务器端j a v ab e a n 的自动填充,支持验证的w e b 表单,国际化支持,生成h t m l ,实现表现逻辑 和模板组成了s t r u t s 的灵魂。本系统的设计和实现就是在s t r u t s 下完成的 ( 2 ) j a t o j a m 应用程序框架是i p l a n e t 应用程序框架的旧名。它是一个成熟的、强 大的,基于j 2 e e 标准的面向于开发w e b 应用程序的应用框架。结合了显示字 段、应用程序事件、组件层次和以页面为中心的开发方法、以及m v c 和服务到 工作者s e r v i c e - t o w o r k e r s 的设计模式等概念。j a t o 可适用于中、大、超大规模 的,w e b 应用。但是它也不是一个企业层的应用框架,也就是说它不会直接提 9 武汉理工大学硕士学位论文 供创建e j b ,w e bs e r v i c e s 等企业层组件的方法,但用它可以构造出访问企业 层组件的客户应用。 ( 3 ) j s f j s f 是一个包括s u n 在内的专家组正在定义的开发,e b 应用用户界面的框 架,j s f 技术包括: 一组a p i ,它实现u i 了组件,管理组件的状态,处理事件,输入校验,定 义页面导航,支持国际化和访问;一个j s p 定制标签库实现与j s p 的接口。 j s f 非常简单,是一个定义良好的编程模型。利用这个技术,开发者通过在 页面内组合可重用的u i 组件,在把这些组件和应用的数据源相连,路由客户产 生的事件到服务器端的事件处理器进行编程。j s p 处理了所有幕后的复杂工作, 使得开发者把关注重点放在应用代码上。 ( 4 ) w a f w a f 是w e ba p p l i c a t i o nf r a m w o r k 的简称,是s u n 蓝皮书例子程 序中提出的应用框架。它实现了m v c 和其他良好的设计模式。 1 0 武汉理工大学硕士学位论文 第3 章m v c 设计模式 3 1 设计模式的概念 设计模式的提出,是面向对象程序设计演化过程中的一个重要里程碑。本 节主要介绍了有关设计模式的一些基本概念及应用设计模式所带来的好处。 模式( p a t t e r n ) 的概念最早由建筑大师c h r i s t o p h e r a i e x a n d e r 于二十世纪七 十年代提出,应用于建筑领域,八十年代中期由w a r dc u r m i n g h a m 和k e n tb e c k 将其思想引入到软件领域,1 9 9 4 年开始由h i l l s i d eg r o u p ( 由k e n tb e c k 等发起 成立) 和o o p s l a 联合发起了国际p l o p ( p a t t e r n l a n g u a g eo f p r o g r a m m i n g ) 会 议。目前,模式己成为软件工程领域内的一个热门话题,其在计算机领域的影 响远超过了在建筑界的影响。l 1 7 i l j 卅 建筑设计师c h r i s t o p h e r a l e x a n d e r 对模式的定义有如下概括:“每一个模式描 述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这 样,你就能一次又一次地使用该方案而不必作重复劳动。”上述的定义是对模式 的广义定义。尽管a l e x a n d e r 所指的是城市和建筑模式,但他的思想也同样适用 于面向对象设计模式( d e s i g np a t t e r n ) ,两类模式的核心都在于提供了相关问题 的解决方案。我们将其应用到面向对象软件的领域内,就形成了对设计模式的 狭义定义。我们可以简单地认为,设计模式就是在某种特定的场景( c o n t e x t ) 下,某个不断重复出现的特定的面向对象软件问题的解决方案。它是对于一些 己经被证明为优秀的解决方法的归类、总结,目的是为了从用该解决方案而不 用作重复的劳动。 良好程序的一个基本标准:高聚合,低耦合。面向对象语言比结构化语言 要复杂的多,不良或者没有充分考虑的设计将会导致软件重新设计和开发。然 而实际的设计过程中,设计人员更多的考虑如何解决业务问题,对于软件内部 结构考虑较少;设计模式则补充了这个缺陷,它主要考虑如何减少对象之间的 依赖性,降低耦合程度,使得系统更易于扩展,提高了对象可复用性。因此, 设计人员正确的使用设计模式就可以优化系统内部的结构。p 叫 武汉理工大学硕士学位论文 3 2 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 是一种 软件设计模式,最初是为s m a l l t a l k - 8 0 语言提出的,后来在j s p 开发中渐渐得到 广泛的应用至今已被广泛使用,最近几年被推荐为s u n 公司j 2 e e 平台的设计模 式l l 训,受到越来越多的w e b 开发者的欢迎。 尽管m v c 设计模式很早就出现了,但在w e b 应用开发中引入m v c 却没有 那么顺利。主要原因在于早期的w e b 开发中,程序语言和h t m l 的分离一直难 以实现。例如在j s p 网页中执行业务逻辑的程序代码和h t m l 表示层数据混杂 在一起,因此很难分离出单独的业务模型。这使得维护j s p 网页非常困难,很 难满足用户的变化性的需求。 在早期的j a v aw e b 应用中,j s p 文件负责业务逻辑、控制网页流程并创建 h t m l 。j s p 文件是一个独立的、自主完成所有任务的模块、这给w e b 开发带 来一系列问题:【2 】【1 5 l 1 h t m l 代码和j a v a 程序强耦合在一起,j s p 文件的编写者必须既是网页 设计者,又是j a v a 开发者。但实际情况是,多数w e b 开发人员要么只精通网页 设计,能够设计出漂亮的网页外观,但是编写的j a v a 代码很糟糕;要么仅熟悉 j a v a 编程,能够编写健壮的j a v a 代码,但是设计的网页外观很难看。两种技能 都很熟悉的人可谓是凤毛麟角,非常少见。 2 逻辑流程内嵌 要理解应用程序的整个流程,必须浏览所有网页,如果仅是几个或者十几 个网页还好说,几十个网页乃至上百个网页时,网站的逻辑错综复杂,理解困 难。 3 调试困难 s e r v l e t 技术是j a v a 创建w e b 应用程序的主要基础设施。j s p 技术也是以 s e r v l e t 技术为基础的,它进一步扩充了s e r v l e t ,简化了h t m l 内容的创建。在 应用中,j s p 和s e r v l e t 还存在着一定的不足。这些不足主要存在于两个领域: ( 1 ) 创建一种“关注点分离”。做不同事情的代码块被分别打包在不同的组 件中,并且基于标准的方式在它们之间进行通信。 ( 2 ) w e b 应用程序的一个基础设施。这些基础设施包括验证用户输入、处 理和报告错误以及管理控制流,等等。 武汉理工大学硕士学位论文 如果这些不足能够弥补,构建w e b 应用程序最实际的问题( 健壮性、可维 护性、本地化等) 就更容易解决 为了弥补以上不足,s u n 公司提出了在j a v aw e b 领域的两种经典模型,可 以称为实现模式,分别是m o d e l l 和m o d e l 2 。 3 3m o d e l l 模式 模式1 就是指j s p + j a v a b e a n 技术。在模式1 中,j s p 页面独自响应请求并 将处理结果返回给用户。所有的数据通过b e a n 来处理。j s p 实现页面的表现。 模式1 技术实现了页面的表现和页面的商业逻辑相分离。这种模式对于小型的 系统还可以满足,但是对于大规模的系统就会显得力不从心,那就是会导致在 页面里嵌入大量的j a v a 控制代码,当要处理的业务逻辑复杂时,大量的内嵌代 码使得页面变得庞大,同时也非常复杂。对程序的维护非常不利,而且对于页 面开发人员和程序人员的分工将造成太多的约束,无法使他们并行的工作,开 发的效率也就大大降低了。模式1 的结构如图3 1 所示:1 3 1p 1 厂、 厂、 r , w e b 容器 、 数据库 客户请求 客j s p 7、 白 、l 端 7 1 浏 览 结果返回 器 j a v a b e a n 、, l 。 。 图3 - 1 模式1 武汉理工大学硕士学位论文 3 4m o d e l 2 模式 针对模型1 的众多问题,s u n 又提出了模型2 。1 7 j 模型2 就是指j s p + s e r v l e t + j a v a b e a n 技术,它的主要思想是使用一个或多 个s e r v l e t 作为控制器。请求由前沿的s e r v l e t 接受并处理后,会重新定向到j s p 。 在s e r v l e t 作为控制器时,每个s e r v l e t 通常只实现很少的一部分功能。多个s e r v l e t 控制器就可以结合起来完成复杂的任务。在此模式里,j a v a b e a n 作为模型的角

温馨提示

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

评论

0/150

提交评论