【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“基于组件的web表现层框架的研究和设计 - 硕士论文”一文,供大家参考学习
浙江大学 硕士学位
论文基于组件的
web表现层框架的研究和设计 别:硕士 专业:计算机应用技术 指导教师:朱淼良林建 20060522 攘要 随潜蕊随对象技术的不断发腱,许多系统提供了应用相关的面向对黎框架供舞发人员使髑,鞋筠纯艨用稷膨瓣开发。
框架是可熬用嚣,“半残晶”成臻程序,瑶毅在英鹣的基疆土开发特定鹣斑嗣程枣。
一个撵絮蠢组薛豹集会秘或,这些组传为解决鞘梅领域{每避提供了埘熬用熬体系结构。
铡臻这个碍重用豹体系缩构,使褥这些问题的解决变得十份骞易。
本文介绍的基于组件的web袭现层框架是~个使腭Jg豫语言编写的撼槊,矮子毯建趣态熬、继硅骢、褰灵溪赣的web鑫篾蓑寒。
该捱黎稳笺在辍蕊黥javase潮et Ap{之上,因诧它能够徽好琏兼容任簿seⅣl烈容器或者应用服务。
它将一个web应用程序分离为一组页面,而每个页面又由多个组件组成。
这藏提供了一个漭调一致的结构,使得框架能够专注予经俺一个关键细节,侧如:Ⅸ强解掇秘暇遣、持久讫状卷镰存在客户端还蹩赣狂在簸务器溃、蠲户埝入效验、率毙纯或溷际像、秘舅露缀辫。
对we§应雳穗窿豹开发惫耩:篌髑酱邋戆HTML标籀创建}ITML模板,然后使用xML描述文件(可选)将这然模扳与少量的java
代码结合在~起。
在该框架中,创建你的应用程序是通过使用对象、方法以及对象的属性…一髑赞菲由uRLs和
查询参数。
它带来了真正的javaWeb应用程序00p壤稷。
在该疆槊下能够非常容萎撼翎建掰缀{孛,就魏黼潋常规的步骤来构建应用程序一样。
这拨组件包括菇种各样籁纂的输出组件,黼及非常复杂豹表格缀{牛和树型目录组件。
浚框架能够构建,从小型的应用程序捌器萃申大型团队开发黪几酉个独立夏嚣豹大蘩应耀程廖。
本文曾鬼介绍开发该框檠豹鬻瀑,萁中着覆奔缓袋硝该框架与健统的w如表现层开发过程的不同之处,突出该框架开发上的优辨,然后介绍框架的工作原理,运行枫制。
激衙介绍一下框黎的实现机制和应用。
关键淫:w嚣B袤瑷瑟、缀传、槿檠 Abstract: The丘眦ework produced in this papcr is锄盘amework f研creating dynamic,robust,higmy scalable w曲applications in java。
It complemcnts and b谢lds upon镪estanda砖,ava Sewlet API,and so it wo擅s in any seⅣlet container or applicationSerVer. The仃amework diVides a、№b application imo a set“pages,each constnlctedf}0m components.1Hs pmvidcs a consistent struct呲,allowing tlle矗amework toassume responsibility for key concems such as URL constnlction and dispatch,persistcnt state stOrage on也e cli铋t or on tbe sefvof,user iHput v采id积on,localizatio碰ntemat{onal{zatio骗and cXception fepo撕n垂DeⅥlop至ng applieat主onsinVolVes cfe聪ng HTML templ a_Ces t薹sing plain H1圣dL,8nd comb趣ing the teInplates蚋th small amounts of Java code us讧塔(option锄Ⅺ以L descripcor files.In mis‰ework,you create yollr application m terms of obje吐s,and tlle methods andproperties of mose obje“s一趾d specificallyⅡot m tenIls of URLs觚d queryparamoters.h蜥ngs mle o巧ect鲥ented development to Java web appl{ca耋主ons. The fr珊ework is spec撼c舔ly desi辨ed to ma:沁erea蛀ng new componen括veryeasy,as删s is a foHl抽e app∞ach确en b蝤】ding印p王icalio丑s,弧e dis斑b娃螃on谗cludes oVer fi姆co{nponents,fanging蠹om simple o“tput componen招all tl碡wayup to complex data鲥ds趾d tree navigators. It is arc觚ected t0 scale讯}m tiny applications all tlle way up to massiveappIications∞nsisting of hundrcds of individual pages,devciopcd by large,diversete锄s. 强e bac莨gr0雠d ofthe撒啦ewo披is丘娥produced,w毯ch撼醢li曲ts di衡encesbe船ecn the use of the f函:nework and the拄adi垃伽融web deVelopment process,h蟾hI垮hting t王le adValltages of me development丘锄ework,aIld tllen wo像on the 抒amework principles,me operating nlechallism.In the end矗姗ework for t11erealization ofthe mechanism is in虹oduced and applied. Kev wOrds:WEB Presentation、Component、矗ame、vom 111 第一章绪论1.1黜b开发概述 隧慧网络技术、窀子商务及金业应惩秀发技_术等习i断静蓬勃发震,备种需求开始不断出现,企业应用系统的功能需要变的熨加强大,砸且其应用系统的开发和维护则需要不断的降低其成本。
盛前很多企业威用系统是建立在W曲潦础上,建立镀援w豳戆企泣瘦麓平台基经减了露裁大熬分金鲎瘟鼹救蓄簧逡箨,彰s框架成为毽藏主流的金监应髑系统静开发棒系;豫E嚣平台荧开发分搿式、多屡的企敝缀搬霜定义了一套全新豹标准。
汜觏i平螽采用了蘩于标准纯,组件化开发的分布式应用模型,并为邈蝗组件定义了一銮究烂的服务集合,从黼箍伐了开发易扩腥、易镩缭浆企业盛嗣的复杂。
篷。
越来越多的企、韭将J2嚣嚣乎台馆漆宅稻实凌邀孑巍务静蓄选平套。
同日寸随着面向对象技术的不断发展,许多系统提供了应用相关的衙向对象框架供开殷人员使用,以简化成用程序的开发。
框架是可重用的、“半成品”应用程序,可以在它的基础上开发特定的应用程序。
~个框粲由组件酶聚台掏藏,这些缀髂麓疑决嚣标鞭域运麓攥供了瑶重霞戆髂系蟾捣。
裁楚这令霹黧髑瓣薅系蘩穗,使锊这些秘题魏解决交褥十分容易。
蒸予,2EE平台蘸w曲应蹋嘏架为采鬟J2EE技术的web应用程序开发提供了一个可羹闵的体系结构。
1.2
论文背景 稽统的表现层设计是糟java servlet设计豹。
两servlet怒潮Jav8编写携Server端程序,它与协议和平佘无关。
Servlet遴行予Java—enabled Web Server中。
Java Servlet可以动态地扩展server的能力,并采用请求一响成模式提供霹eb鼹努。
这撵一个隧豢簿灸中心靛缡程模式对于特定的受嚣来说}£较器棼,但是窝爱运用到徽多不同类型应罔的褒颥来说是一矜受翘。
例如当应用
程序镒装缎多不同类型的sen,lct提供不同功能溅操作。
这对于se抖let来说,不仅仅耍确定需要竹么样的操作,还要知道那些类提供这样的功能,这就需要大量的servlet。
Struts/webWork/JsF是目前J2EE表现层新老组合的框架技术。
这些樵架技术也都是主要是以操作为中心的开发模式。
与此相反的是,本文通过对基于Mvc的web开发过程分析,提出一种基于组件的web开发模式及相应的开发框架,该框架最大的特性就是”对象,方法和属性”,也就是说,不需要开发者关注Servlet的罅I:requests,responses,sess{ons,attributes,para}lleters,uRLs等等,使得开发者更关注予对象(包括页面,缎件),对象的方法以及那些对象的javaBean的属性。
本文酋先介绍开发该框架的背景,其中着熏介绍使用该框架与传统的web袭现层开发过程的不同之处,突出该枢架开发上的优势,然后介绍框架的
工作原理,运行机制,最后介绍了框架的实现机制和应用。
第二章基于表现层豹w幽汗发技术综述2。
1理解黼b应用程序以及在开发过程中存在的目遂 瓣站内容需要及蹲静受灏,l茏箕对子商鼗嬲嬷来说更蹩翔j{乏。
羽站中驰网页用超级文本标记语言(HTML)编写而成。
当用户访问瞬站的时候,实际上就跫把服务器上辩有H踟L静文本内容传送到用户的浏髓器中,然后通过测燕器来解释成鼹文并茂静网夏。
当溺疑舔点毒链接对,就怒羚始传送一个耨的嘲页。
一些瓣滚蓬磐态兹。
静态秘漆簧要维护人员手工受藜羁婪蠹容。
燹疑惑容裁是手工鬻渐那揍用mML编霹黼成的网页文件,然后把这照文件放到服务器中。
更新由静态网员组成的网站,需要编辑所有的文件,如果簧更新的文件很多,更新就会缀繁琐。
这样就很容翳犯错误。
为了提商嘲站内容维护的效率,就砸以通过稳建w酶寝臻程序寒群决趣蘧。
磷酶疲用稳痔就是一静邋过互联嚣蕤够迁W酶浏夔爨窝纛务嚣邋讯豹诗算机程序。
不圊予静态网站的,W曲应用程序动态创建页恧。
采用动态方式生成的w曲站点通过使用
计算机程序来实现动态的特性。
这种动态的应用稷序可以用各种计爨桃语言米编写。
动惑搦建熬露蘩苓簧要缀轳罄理天虽一燹一溪弱燹耨逡容。
动态瓣滚爵譬圭挺HTML部分和数据部分分离开,从瓶极大的携黼网站维护和管理豹效率。
使溺w曲废用凝序的网菇很多缀多 虽然,基于传统的应赠掇带体系或者纂于c/s模式验程序能够掇供事富躲Gul嚣形器覆。
圈怼,GUl器露上缀多供应豢撬供了丰蜜獒wYslwYG≤瑟蹩即掰褥)麴开发工具,融翔DoIpK,ve,玛uilder等等。
雨在B塔结构争这种情礴非常不容琢观,随着n层体系结构的提出,业务逻辑集中的概念,缎件的概念逐渐深入人心。
于是越来越多纳技术人员投奔予n屡。
业务逻辑集中的确给程序豹发搬移维护带寒了缀大黪方便。
僵阕鼷掇然缀多: l、器露遵予簿攀显不道臻。
稷多功耱诺辩参照、数据合法瞧骏诞、多窑誓等等因为麟于RcqueSt的剿S结构,总是实现的不够理想,特别使缀表系统不是 过于太慢就是太过于简单,同样存在不友好的问蹶。
2、扶分工静囊笈聚番,由撵彦受去设计WEB瑟瑟不耱含社会分工翡原剽。
DrcaInweaver、photoshop这些糨序无关的东西成为程序员
常用工具,另外设计结果也狠少符合阕户意黼。
3、表现层土存在她务逻辑潮代礴不能复鼹的现象。
无论楚s豫公司宠甥痿示铡
代码,还题Apac№提供的xsp的示铡代粥,到处都是各种各样的sQL谮旬,缀多数嵇,特剽绞嬲上戆缀多基于B愿魏共享软羚,中阕瑟基零上藏了s跳执行器,软件复用可望不霹及。
4、露良跨象款佟浚诗技米遭遴蠖浚。
在eGl、As壬}、js壬’孛蛰窳网炎中嵌入
代码,还是
代码中嵌入网页?面向对象在wEB开发中似乎成为一句空话。
AsP:碱T的出现实嚣了
代码和页面的分离,偿怒.NET的服务器控徉健得客户端与服务器漏交互明显鞭繁,大鼙耗费
网络资源,但是毕嶷可以饕列一点瓣良对象的影子。
在n棘e体系中,虽然在监务朦普遍都是图向对象,骰是在与弼户打交道懿界弱屡还楚十分糟糕。
s、用户要嫩wEB界面楚W个性化定制的。
即使在工程验收之展,罔户豹篱要鄂在交键,应该戆够筏建鞭疆帮爨煞较锌焚覆钵黎,谊廷声骞基戆够耨瑙、修改界面。
2.2‰b表瑷层开发技术现状2.2.1 servlet和jsp,于发技术的局限性 Sew】et是用Java编写的s e_Ⅳer端糨序,它与协议和平台无关。
Servlet运行予j科a一髋蠢led溉b seⅣ毂中。
J8vase群le{霹戳动态德扩震server戆缝为,势采用请求一响鹿模式提供W曲服务。
Java ServletAPI怒义了一个servlet和Java 使镌酌缀务器之簿靛~个标准攘翻,这使得S钾iets其有跨驻务器平台的特性。
Se“let通过创建一个框架来扩展服务器的躲力,以提供在w曲上避孬请求 和嗡艨服务。
当客户钒发送请求至暇务器对,强务器可以将请求谙恿发送给 serv戤,共让Se“let建立起暇务器返网给客户祝戆瞬痰。
当鼹动w痨服务器 或客户机第一次请求服务时,可以自动装入s e_rvlet。
装入后, servl烈继续避 牙_蛊剿其它骞户掇发滋渍寒。
S黼砖£瓣功姥涉及莲澍缳广。
捌黯,S嚣vlet霹完藏如下功缝:(1)创建辩返回一个包含菸于密户请求性质的动态内容的完整的HTML页面。
(2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)。
(3)与其它目骚务器资源(包掇数据库和基于J鑫v蠢的应恁程序)进行矮俊。
≤∞爱多个客户掇楚理连接,攘牧多令客户撬静输入,并将结暴广搔剩多个窖户辘上。
稠如,Se喇et可汉楚筘参与者翡游戏鞭务器。
(5)当允许在单连接方式下抟送数据的情况下,魄测览器上打开服务器至app|et的新连接,并将该连接保持在材开状态。
巍允许客户机和服务器简单、薅效地执孬会话瓣辏瀑下,8pp陵逮疆叛癌动客户溪菱爨秘羧务器之阉静逡羧。
霹羧逶避定铡协议戏标准(如lloP)谶行
通信。
(6)对特殊的处理采用MIME类型过滤数据,例如图像转换和服务器端包括 (SSl)。
f7)将宠裁翡处理提供给所肖鼹务器躲标准铡裙糕绺。
铡如,Sew漩可疆穆改热磐谈话穗户。
JSp(Java Server Pages)燎J2EE平台下的…项技术,其包含了H俐L标签和相应嵌入的Java
代码;其本身实际上也就是Servlet,其在运行时编译为servlet。
对于H俐L标签,利用out+p蛀ntlnO语句来完成输燃,对其他的Java
代码煲娃i接编译魏行。
Jsp怒对予sevlet采说怒模块亿技术,一个jsp页西混合了静态ht越标志语言和掇供动态输出的jsp橼惑和指示籀,例如当翦用户的姓名和巍线购物车的内容。
谯8ervlot引擎下,姆个jsp页面被转他成servlet,蕊servlet被编译并载入内存中。
图2.1 用Se“let和jsp
设计表现朦可以遵守MVc模式,剿螺用Servl。
t巍当控制层(contr01)jsp充当表现层(view)。
servlet容器将根据客户请求∞qucst)的uRL负责选择恰当的se辩l畦去响应。
~令擎独憋W曲瘦用程艨将包含攫多辩wl鲢。
w弱应甭程序的配凝描述文件(如web.xml)为每一个sen,let提供了它的名字和相应的{瓣类懿下: <servlet> <s£删e专.na辩e>嬲d{0u戤理∞er《servl或-n锄e> <servlet-class>com,mycompanyIAddCustomerSeⅣlet吲servle扣class> (/servlep <se押let-m毪辨妇鐾> <s{敛~let—name>addCl王stome吲servle湘a】me> 啦脚舻,蕊dC毽g晒糖嚣《划一p鑫搬瓣 </servlet—mapping> 鲡上掰示,风耗eu渤搬ef浚瓣囊毽ddc醛赫搬e}甓抖let。
铁邋曩我稍大致上蜀以看出每一个sen,1et代表了~个功能或是一个操作,AddCustom盯servlet将包含一些代褐用来读取有触m表擎提交上来韵参数数值,并用这臻数值来倒建菜种类型的cuse睁mer对象,并存贮到数据艨中。
这样一个隘操作为中心的编程模式对于特定的页鬣来说沈较容易,但是如桨运零到缀多不翳类型敷嗣蟪页灏来说爨一穆受撵。
倒翔巍应瘸程序霰黉攫多不斟类型的se州et提供不网功能或操作。
这对于seHlet来1滢,不仅仅要确定篙要什么群懿撵圣#,逐要甄邋簿黧类掇供这撵静凌能,这裁鬣要太璧辩se辩l缟嚣在簿 一个s。
rvlct里,又需要提供很多分支对应不同的hidden参数(越参数饿代表相威 的函数功麓)。
2.2.奎表臻基瞩檠器笈鼓零豹穰嚣 struts鹰#b撵鳍k口∞estry/j鼹楚嚣蓑J2溉袁爨麓蓊老缀会夔捱黎技零。
姨 诞生时闯上看,st}ut8虚该比较早,饿用季导j#常广泛,lapestry逐渐孳l起广泛 静重裰,正当f柱pes疆y霹将太霆身手翳雩赣,SUN黎窭筘F蠡漆疆本,虽然j籍 5一嚣始捺}l:l尚不成熟,塑密了一菠空自期,瞧愚隧藩j骚i.1拣准捺墩,J鳟秀始正面出诲,隆重登场了。
其实,JsF和Tapestry也劳不是那种头碰头的相同竞争性技术,两纛还是冬有侧黧点酶,不过魄较缎徽,但是这毒牵细微点襁实瑷一个大工程鞋誊霹麓蛰来不霹豹感受鞠变纯。
蓠先,我们从一个高菠浓抽象~下表现层糕絮应有酌技术橥构,下圈可以说所有凌蠛艨框架技术都必须实溅的功能架构图功能絮构图: 委壤篝瀵睡终 甄翟嚣 图2.2 赫Ve模式是基准模式。
程上圈糕琵模式基鹚上,一个表瑷蘑键絮嚣菸乎要实臻强中酌三个功熊:1.在当前灏丽能够显示一个组件对象的内容;黼不是象纯JsP那样,黼要在Jsp页面写入“调用对象方法”的Java
代码。
2.当用户谈下翼匿静提交按翘或镱接蘑,事俘发嶷,遮时避该触发激务器蠛荠将当前爱麟豹参数据交绘黢势瓣。
这穆爨裁表臻京For辩表攀疆交嚣裔参数熬链搂3.从~个匿覆视图壹接疏转剃茹终一令页蠢视图,单纯的
导航{乍嗣。
我{f-】通过下表米比较这三种糕架在实现上图各个劝鸵时技术细节,从瓶褥出他们的异网点和偏重点。
S嚣珏tS 强pesl曙 jSFl在view鼹示 缀肄必须继承 分显式漏蠲帮隐式调鞠 普逶P0哟秃需继承l的组传疆艰 ActionFofm 缀件必须继承B曩s《omponent Managed Be甜l页疆分遁 使壤Tiles标签 组诤畜自己靛褪鼹露蕊, 逮过缝件+标签库实疽ks 靡实珉,需囊 濑过调用组件郎直接文现多个 现subvie毗假如需重用 另 外 硪露组合。
强大自然的撰邋组 Layo址,还辩缀合Tiles. tiles-de£xml配 合是其特点。
嚣文件页瑶魏转 健爆标签藤 U姓名称是疆标豹缀传盘称, 类髓s拓ufs,彀露要在配 §镌l:li呔孛麓 不涉及u疆。
耱貉径昝搡终,方 置文锌中瓷我,与缓嵇势 明目标uRL, 便稳闽。
离。
uRL名称需要 对照配置文件 的p劬命名,与 维佟A确on糕参数蕊遴 傻臻b锃一:li放 藏绩调蘧缢箨,轰接赋予参鼗, 参数分离佟遂绘疆锌 时传递参数越 没有参数个数限制 过一个以上处 联麻烦。
事件触发 通过表单提交 能够给于表单每个字段贴一个 同1砷es螂,潦件组件必 subm建激活,不 攀转,事馋组俘必颁实现 须实习Ac畦onLis鲰措接 韪鲴豫弱表攀 孙g。
Lig辩羲嚣蔟弱 叠 墨字段。
缀件在view _\,iew页面只能 W将组件嵌入页面任何一行, 同Tapes廿y 显示粒蹩 显示与表单对 辩使甩纽体数量无靛剡。
的 ActionFoHn,酝 誊中Acfi∞ A¥《o蟥。
瑚更 联一般只虢 1:1:1关系。
袋2.1 Struts组件编翟必须隈怒农Action/ActionFor影jsP遮三个撵糕哮l散文章,难瘦辕辩磁较大,爵罩却estry/jsF焚l莰鸯太多遮蹙技末攥摇陵铡,鼹密袁缝嵇编程方蕊受让编程老囱虫一热,方便一些,这也怒缀馋型框架弱忧势鼹。
在鼬ruts中,经常需鼹使用标签库来显示缀l牛ActionFo圳中内蜜,这就涉及到一个结合的
问题,标签库怒别人霹的,参考struts的标签库用法,丽组件是叁邑豹,难凄霜疼矮藏髂糍程这个缝合点上。
j静旗本思路和struts麓不多,只不过挨了不同标签瘁,也需癸标签瘁+缀件的结合思考,不j::l=因为缝l串这里蹙逶溺维件,没有仟么限制,所以这样诧struts璎轻松…一些。
S lapestr¥镬强了缝粹簿概念替代了拣签疼,没有标签痒概念,这样就没有标签庠署【;I自己的组件需要结合的问题,都是组件的使用,组件中分T8pestry标准组件和自己定义的组件,遮也是接触了Jsp体系的人
学习Tapestry面临的~个恿路转按。
j辩耱链揍概念意1分魏个方嚣;导靛往爱秘枣箨激活,在导靛方程还跫需要至E配置玩ces—c傩fig查游N挂vigation鹃fro黔outGome的值。
由于Tapestry没有榕皴库撅念,只奄组件域露蘸两个概念,因舭,链接蹒转目标鬻么是缀件,要么是鼹掰,简洁箍单,它没餐多余的path概念,就是缀馋名,瓷藏楚瑟蒙名爨,缝黪褒称瑟pa谯名称会二麓一。
嚣F程很大程度上类{娃struts,丽不楚类似Ta∞stry,可以说避~种struts2.O,都怒采取标签库+组件的形式,只是JsF的缀件概念没有象struts那样必须继承Aetion沁瑚的限制;粥F在事件粒度上簦细腻,不象strut8郧样,一个表单一个臻俸,jsF W毯缨{{:
列表单孛斡每个字段上。
j雠嚣有奁组磐秘事绺懿镬这令援念上类酝羊8pestry,毽莛苓簸Ta争estry那样是一个完全组件的框架,所以,如果你做…个对页面要求灵活艘捆当商的系统,选用Tape8try是第…考虑。
2。
3缎件豫歼发中豹关键技术2.3.1熬予聊c模式的组件技术 MVe模式是指废用系统的业务模型(猫odel)、视匿(Vi蝴)和按涮器(eontroller)屡次缝梅,躺《el屡主要实褒系统瓣妊务逻辑窝数撼遂辗,¥ie骠层主要实现系统的显示逻辑,∞ntroHer层主黉实现系统静控铡流程。
如巢双系统整体架构上看,J2EE应用中普遍的三层结构戚多层结构本身正是Mvc的体现。
其中,应用服务器的位谶正如同鄹c中的控制contr011er,而数据库
管理系统跫骥銎韬odel翁容器。
辩援强View弱支撵器,镬B筠实现中,戟楚进览器了,丽在e奄懿实瑷墨,翊怒一堆分立戆控舞。
M¥e模霞通建爨持
系统造务逶辑和数瓣谶瓣、控制逻辑、显示谶辑的相互独立性,从两实现面向蠲题域本身构建业务逻辑和数据逻辑,面向凝体应用域设计控制煺辑和显示逻辑:在慈统业务流 警程发生调熬髓,无须穆改竣尽爵能少掺改鼗务逻辑和数撰逻辑:在翊麓域本身的业务规则、业务算法发生变化时,只修改Model朕组件,从而实现系统组件的独立性。
servlet,JavaBean技术是目前web应用系统开发中应用较普遍的基于j2EE絮梅的哥发技术,J氇vaBean是java类,Servlet是一{唾l特殊懿Java类,焉鞋爨穷矮更赢藏穗实臻褥eb系统请求页鑫弱数撼城的获彀,调震稳疵Jav辐e鑫n实瑗潼务逻辑和数据逻辑瑟,将Jav稿ean对象中的数据域显示在删L页两上。
从以上投术的介绍可以看出,W以从系统的分橱斓设计基础上建立组传化威用静模型,并浆用不同工具分别撼述数掇访问组件和袭恭逻辑组馋、应嗣邂辑组彳牛,麓K模式掇供了缰箨竣诗瓣糕谂基礁,嚣servlet,j8v8蓦e懿提供了蜜凝缝舞瓣手段。
砑艇结合U艇L的建模潞畜、赫
vc的分层体系理论、蒸于Java躺Servlet,Javabean技术,可以方便城实现wet应用系统的组件化开发。
在Web应用系统中,采愆撼于舰模式的组件化设计与实现,瓯箍离了应霜开发中代粥瀚熏用度,又具备缀辩的系统可扩展毪弱霹维护牲。
2.3.2缀件纯的酗应用系统设计 组件化的wob系统设计继承并发展了面向对聚的设计方法,强调赢正的
软件重用髑鼗度的蠹操作性。
它侧燕子维件的产生和装躐,组佟的产生怒建立在系统嚣求熬蘩獭上,缝锌兹装聪不仅霹浚谴整个系统快速遮建立起寒,霹纛缩籁了开发掏期,提高‘r系统的稳定糯和可靠性。
本文介熠的表瓒层框架墩的维件扮演着控制器con缸ollcr的角色,是模式层 (Model)中p雕硝oma{n碱octs和包含蠢组件驰H瑚L模扳之闻的媒介。
大多数壤溅下,这耱方式应蔫予黉矮(夏瑟也是缝黪),毽莛在菜馨|藩撬中,…个终 件拥有窥己的模板,包含潜爨多的组件,并且支挎与使鹾者的甄交。
页筒通过配置一系列属性袭达式(Pmpeny expressions)连接模式层和表现 层。
属性表达式使用另外一种
开源枢架OGNL(Object Graph Navigation Lan瓣8鐾e)。
OGNL既开澈王熊(p删ect)独囊予楼桨,餐是起缀鬟簧靛佟爰。
o酬L_=i兰要酶嚣鹣在予读敷辩瑟瑟瓣象戆java飘黼霭经。
2.4基于维件豹表现瑟糕架开发优势2.4.1框架的优势 .