(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf_第1页
(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf_第2页
(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf_第3页
(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf_第4页
(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf_第5页
已阅读5页,还剩86页未读 继续免费阅读

(计算机应用技术专业论文)基于struts的若干电子商务系统开发技术研究.pdf.pdf 免费下载

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

文档简介

摘要 随着电子商务系统越来越复杂、功能越来越强、与系统业务的集成度越来越 高,开发人员迫切需要借助复用程度高的框架来快速高效地开发电子商务系统 同时,大部分电子商务系统都没有经过严格测试,系统可能存在许多隐患。原因 之一是电子商务系统测试技术的研究较少,且以往基于c s 结构的测试方法也不 适合基于框架开发的电子商务系统 电子商务系统的安全一直是人们研究的热点。信任协商作为一种新的安全技 术受到许多学者关注,但该技术不够完善、实现难度大 为了提高人们对电子商务系统的信心,加强对系统参与各方的监督,网上评 价是一种常用手段但是网上评价结果往往不够准确,需要对其可能出现的偏移 结果进行纠正。 为此,本文结合“制药企业分销费用管理系统的研发”课题研究,对电子商务的 开发,测试、信任协商及网上评价纠偏技术作了比较深入的研究本文主要工作 概括如下t 1 分析了目前电子商务系统的主流开发框架s t r u t s 的特点、优点及基本组件, 指出了s t r u t s 框架在业务层与数据库间祸合,安全及维护等方面存在的问题 2 为了解决s t r u t s 存在的问题,使开发的电子商务系统具有更高的安全性、 层次清晰性、易扩展与维护性,文中提出一个电子商务系统的开发模型一翘t r i l 协 模型。该模型包括e s t r u t s 设计模型及e s t r u t s 测试模型。e s t r u t s 设计模型扩充了 s t r u t s 框架;整合了s t r u t s 与h i b e r n a t e 框架以分别实现视图组件的w e b 层与模型 组件的持久层开发;在w e b 层封装了安全管理与日志管理功能;利用s t r u t s 定制 标签与a c t i o n 实现身份认证。 同时,为保证e s t r u t s 所开发系统的质量,文中提出了相应的e s t m t s 测试模型 并阐述了具体的实现思想、方法和过程该模型集成s t r u t s t e s t c a s e 、w a t i r 及j m e t c r , 实现了基于e s t r u t s 的电子商务系统的单元测试、功能测试及性能测试。 3 研究了w e b 信任协商模型及其e s t r u t s 实现设计本文介绍了信任协商基 本要素;着重分析了t r u s t x 信任模型的协商过程、协商方法及关键算法;以网上 租车为例剖析了模型的核心技术协商算法并指出其中存在的缺陷,提出了其改 进算法。最后,本文探讨了采用e s t r u t s 开发信任协商系统的实现模型。 4 研究了一种网上评价的纠偏模型及其e s t r u t s 实现设计。该模型能有效纠正 因对象性质的差异或评价者本身能力问题引起的偏差。论文系统分析了几种常见 的网上评价系统,指出现有网上评价系统缺陷;然后针对部分偏差,提出校正偏 差数据的纠偏模型:最后探讨了采用e s t r u t s 模型开发基于纠偏的网上评价系统的 基本方法及过程。 5 以分销费用管理系统为例,研究了e s t r u t s 模型在电子商务系统开发中的应 用。文中分析了系统需求;设计了数据库;详述了e s t r u t s 模型在系统开发与测试 中具体实现;引入了平均置信区间分析测试结果。 关键词:s t r u t se s t m t s 设计模型e s t r u t s 测试模型 信任协商网上评价 2 a b s t r a c t a l o n gw i t he - c o n n n c g c c 但qs y s t e m sb e c o m i n gn l o r ca n dn l o r ec o m p l e x ,t h c i r f u n c t i o n sb e i n gs t r o n g e ra n ds t r o n g e r , a n dd e g r e eo fi n t e g r a t i n ge cs y s t e m sw i t ht h e i r o p e r a t i o n sg r o w i n gh i g h e ra n dh i g h e r , d e v e l o p e r sa l ee a g e rt ou s em o r er e u s a b l e f r a m e w o r k st od e v e l o pr a p i d l ye cs y s t e m s a tt h es a m et i m e , b c 冀7 , a n s cm a n ye c s y s t e m so x e n tt e s t e ds t r i c t l y 。t h e yc a nh a v eal o to fh i d d e nt r o u b l e s o n eo fr e a s o n sj s t h a ts t u d i e sa b o u tt e s tt e c h n i q u e so fe cs y s t e m sa r ef e w , a n dc 愿- b a s e dt e s tm e t h o d s c a nn o tb es u i t a b l cf o re cs y s t e m sb a s e do nf r a m e w o r k s t h cs e c u r i t yo fe cs y s t e m si sas t u d yh o t s p o ta l la l o n g a s - n e ws e c u r i t y t e c h n i q u e ,t r a s tn e g o t i a t i o nh a sd r a w nm a n yp e o p l e sa t t e n t i o n s ,b u tt h et e c h n i q u ei s f a u l t ya n d j si m p l e m e n t e dd i f f i c u l t l y ho r d e rt oe n h a n c ep e o p l e sc o n f i d e n c ei ne c s y s t e m sa n ds t r e n g t h e ns u p e r v i s i o n o fe a c hp a r t i c i p a t o ro fe cs y s t e m s , o n l i n ee v a l u a t i n gi s - u s u a lb 把a n s b u ti nf a c t , e v a l t m t i n gr e s u l t sa l c n tv e r ya c a t r a t cs o m e t i m e ss o 眦m u s ta d j e s tb i a s e dd a t a o c c u r r i n gi nt h e m t h e r e f o r e , w ec a r r yo u td e e p e rr e s e a r c h o nt h es e v e r a l 幻c h n i q 峨a b o u t d e v e l o p m e n t , t e s t , t r u s tn e g o t i a t i o na n dn n b i s s c dw o c e s si l le cs y s t e m ss u p p o r t e db y t h ep i o g r a m “d e v e l o p m e n to fd i s t r i b u t i o nc o s tm a n a g e m e n ts y s t e mi nt h ed r u g s m a n a g e m e n te 丑t c r p r i ”t h em a i nw o r k i nt h ed i s s e r t a t i o ni ss u m m a r i z e da sf o l l o w s : f i r s t l y , t h ec h a r a c t e r s , a d v a n t a g e sa n db a s i cc o m p o n e n t so fas t r u t sf r a m e w o r ka sa c u r r e n tp o p u l a rd e v e l o p m e n tf r a m e w o r ka r ea n a l y z e d a n de x i s t e n tp r o b l e m si nt h e a s p e c t 8o fc o u p l i n gb e t w e e nt h eb u s i n e s sl a y e ra n dt h ed a t a b a s e ,s e c u r i t ya n d m a i n t e n a n c ea r ep o i n t e d s e c o n d l y , i no r d e rt os o l v ea b o v ep r o b l e m sa n dm a k ed e v e l o p e de cs y s t e m so w n h i g b e rs e c u r i t y , h i e r a r c h yc l e a r , e x p a n s i b i l i t ya n dm a i n t a i n a b i l i t y , ad e v e l o p m e n tm o d e l o fe cs y s t e m s - - a ne s t r u t sm o d e lh a sb e e np r o p o s e di nt h ed i s s e r t a t i o n 1 1 地m o d e l c o n t a i n sa ne s t r u t s - b a s e dd e s i g nm o d e la n da ne s t m t s - b a s e dt e s tm o d e l n e e s t r u t s - b a s e dd e s i g nm o d e le x t e n d st h es t r u t s f r a m e w o r k ;i n t e g r a t e st h e s t r u t s f r a m e w o r kw i t ht h eh i b e r n a t ef r a m e w o r kt od e v e l o pt h ew e bl a y e ri nt h ev i e w c o m p o n e n ta n dt h ed a t ap e r s i s t e n c el a y e ri nt h em o d e lc o m p o n e n t , r e s p e c t i v e l y ; e n c a p s u l a t e ss e c u r i t ym a n a g e m e n ta n dl o gm a n a g e m e n ti nt h ew e bl a y e r ;a n da c h i e v e s i d e n t i t ya u t h e n t i c a t i o nc o m b i n i n gc u s t o m - b u i l tt a 擎o ft h es t r u t sf r a m e w o r kw i t h a c t i o n s 3 f u r t h e r m o r e , t og u a r a n t e et h eq u a l i t i e so fe cs y s t e m sb a s e do ne s t r u t s a c o r r e s p o n d i n ge s t r u t s - b a s e dt e s tm o d e lh a sb e e ns u g g e s t e da n di d e a s ,m e t h o d sa n d p r o c e s s e s o fi m p l e m e n t a t i o nh a v e b e e ni l l u s t r a t e d t h et e s tm o d e l ,i n t e g r a t e d s t m t s t e s t c a s e ,w a t i rw i t hj m e t e r , c a nt e s te f f e c t i v e l yu n i t s , f u n c t i o n sa n dp e r f o r m a n c e o fe s t r u t s - b a s e de cs y s t e m s t h i r d l y , am o d e lo ft r u s tn e g o t i a t i o nb a s e do nw e bh a sb e e ns t u d i e d , a n d i m p l e m e n t a t i o no fa ne s t r u t s - b a s e dn e g o t i a t i o ns y s t e mh a sb e e nd e s i g n e d t h et h e s i s i n t r o d u c e sb a s i ce l e m e n t so ft r u s tn e g o t i a t i o n ;a n a l y z e sd e t a i l e d l yn e g o t i a t i o np r o o e s s e s , m e a n sa n dk e ya l g o r i t h m so fat m s t - xt r u s tm o d e l ;u s e sa ne x a m p l eo fa no n l i n er e n t a l c a rt od e m o n s t r a t ec o r et e c h n i q u e so ft h em o d e l 一n e g o t i a t i o na l g o r i t h m sa n dp o i n t s t h e i re x i s t e n t d e f i c i e n c i e s ,a n dt h e ni m p r o v e st h e s ea l g o r i t h m s f i n a l l y , a n i m p l e m e n t a t i o nm o d e lo f n e g o t i a t i o ns y s t e m sb a s e do ne s t m t si se x p l o r e d f o u r t h l y , a nu n b i a s e dm o d e lf o ro n l i n ee v a l u a t i n gh a sb e e ns t u d i e d , a n du n b i a s e d e v a l u a t i n gs y s t e m sb a s e do ne s t r u t sh a v e b e e nd e s i g n e d t h em o d e lc a na d j u s t e f f e c t i v e l yb i a s e dd a t a , w h i c ha r ep r o d u c e db e a :a u s eo ft h ed i f f e r e n c eo fq u a l i t i e so f e v a l u a t e do b j e c t so re s t i m a t o r s a b i l i t i e s t h i sd i s s e r t a t i o na n a l y z e ss y s t e m i c a l l ys e v e r a l o n l i n ee v a l u a t i n gs y s t e m s ,a n dp o i n t se x i s t e n td e f i c i e n c i e si nt h e s es y s t e m s ;t h e n p r o p o s e sa nu n b i a s e dm o d e l , a i m i n ga tp a r tb i a s e dd a t a f i n a l l y ,b a s i cm e t h o d sa n d p r o c e s s e sa d o p t i n ga ne s t r u t sm o d e lf o rd e v e l o p i n gu n b i a s e do n l i n ee v a l u a t i n gs y s t e m s a r ee x p l o r e d f i f t h l y , a sa ne x a m p l eo ft h ed i s t r i b u t i o n c o s tm a n a g e m e n t s y s t e m , t h e a p p l i c a t i o no ft h ee s t r u t sm o d e lf o rd e v e l o p i n ge cs y s t e m sh a sb e e ns t u d i e d t h e t h e s i s a n a l y z e sr e q u i r e m e n t s o ft h e s y s t e m ;d e s i g n s i t s d a t a b a s e ;i l l u s t r a t e s i m p l e m e n t a t i o no ft h ee s t m t sm o d e li nd e v e l o p m e n ta n dt e s t ;a n du 瞄a v e r a g e c o n f i d e n c ei n t e r v a lt oa n a l y z et e s tr e s u l t s e s t r u t s - b a s e dd e s i g nm o d e l e s t m t s b a s e dt e s tm o d e l t r u s tn e g o t i a t i o n o n l i n ee v a l u a t i n g 4 独创性声明 本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含 为获得江西财经大学或其他教育机构的学位或证书所使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说髓并表示了谢意。 签名:歪1 3 :垫:堡日期:迎五:! 至:之 关于论文使用授权的说明 本人完全了解江西财经大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以 公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保 存论文。 ( 保密的论文在解密后遵守此规定) 日期:加g ,r 7 扩 1 绪论 1 绪论 1 1 背景 随着网络技术迅速发展,电子商务系统对企业的发展是越来越重要,电子商 务系统功能要求越来越强,与企业业务的集成度越来越高。为了提高电子商务交 易的可靠性,企业对电子商务系统安全性也提出了较高要求 开发人员为应对企业对系统需求的不断变化,在开发电子商务系统时,必须 采用合理的设计框架,以有利于电子商务系统以后韵维护与升级,系统应当结构 清晰、系统易扩展等。而传统的设计方法很难满足上述特性,因此现在中大型电 子商务系统开发都是采用s t r u t s 框架进行的。为了保证所开发的电子商务系统可 靠性,必须对系统进行全面的测试。而电予商务系统的测试技术研究很少,基于 c 搭结构的传统测试方法并不适合基于s t r u t s 的应用系统。 某集团是一家现代化高水准制药企业,其分销商遍及全国各地。由于销售过 程缺乏有效监督,造成大量死帐呆帐,却无法及时追究相关人员责任,再者分销 商与员工也不能方便及时进行费用申请或报销而给其带来一定经济损失。为解决 这些问题,该集团采用一个商务系统以实现费用管理。但该系统结构不清晰、复 用性低、实施难、维护及扩展更难为此,该集团针对系统存在的问题,委托我 们课题组进行二次开发,实现一个基于w e b 的分销费用管理系统 为了解决当前w e b 软件需求以及软件的产品化,我们提出了e s t m t s 框架, 包括系统设计模型和测试框架,并对信任管理及评价纠偏深入研究,以提高软件 质量。作者参与了该电子商务系统的开发,包括系统分析、系统设计、编码、测 试等工作本文是在这些工作的基础上完成的 1 2 研究目的与意义 企业要求电子商务系统的功能越来越强、越来越复杂,与系统业务的集成度 越来越强。开发方法不当则会带来无法复用、不易扩展和维护困难等诸多问题。 为了保证系统的质量,开发人员必须对系统进行测试。可是,对于电子商务系统 的测试技术以前研究很少,且基于c s 结构的测试方法也不适用于此。本文研究 e s t r u t s 框架开发电子商务系统的方法以及如何有效测试基于框架的w e b 应用系统 ( w e ba p p l i c a t i o n ,w e b a p p s ) ,以提高程序的开发速度,提高软件的质量、可复用 性和可维护性。 电子商务安全是电子商务活动开展的保障,以往的电子商务安全系统遇到人 们的质疑而未被大量采用,即使采用后依然存在大量问题。目前,出现一种新的 基于s t r u t s 的若千电子商务系统开发技术研究 安全保障技术一信任协商,虽然该方法比以往的方法更加合理,更加安全,但也 存在不完善的问题,如实现难度大。本文研究了w e b 信任协商模型,改进了其部 分协商算法,提出了基于e s t r u m 框架的实现方法。 随着电子商务系统在企业业务的不断深入,为了提高人们对电子商务系统的 信心,加强对系统参与各方的监督,网上评价是一种重要手段但是评价过程可 能因为主观或客观因素造成评价结果偏差,使得网上评价结果往往不够准确,从 而需要对其出现的偏差数据进行校正本文研究了基于e s t r u t s 的网上评价纠偏模 型并提出了基于e s t r u m 框架的实现方法,使得基于纠偏的网上评价功能易于在电 子商务系统中实现。 1 3 国内外研究现状 近年来,随着网络技术的迅速发展和j 2 e e 平台的广泛应用,人们基本上淘 汰采用o s 架构的方式开发w e b a p p s ,取而代之的是基于b s 的多层w e b 体系结 构【1 l ”。但在多层w e b 体系结构的设计中仍存在程序可重用性低、维护工作繁琐、 应变能力弱等不足。为了实现简单高效的程序编写,j s p 设计模式开始成为主流 技术【筇川。当时大多数w c b a p p s 采用以j s p 为主m o d c l l 模型开发【5 朋此模型最 大的优势是实现简单,适合快速开发小规模项目,但是从软件工程的复用性、可 靠性及扩展性来看,该模型局限非常明显。后来出现的m o d c l2 【7 】模式实现了基于 组件的开发,在整个软件开发过程中实现具体清晰的逻辑划分,更适合大规模系 统的开发和管理。而s t r u m 框架暇1 1 ,1 ;1 3 堤建立在m o d d 2 的基础之上,为m o d d 、 m e w 和c o n t m l l 日提供现成的实现组件,从而可以快速安全开发系统,提高系统 的可复用性与可扩展性。作为m v c 设计模式经典实现的s t r u m 框架有效实现了 软件开发过程的重复利用,它简化m v c 设计模式的w c b a p p s 的开发,使开发人 员从繁杂的工作中解脱出来,快速开发功能强大且可扩展性的w c b a p p s 。 限于篇幅,研究中所涉及各部分& m 缸框架、w e b 测试、信任协商、网上 评价等的研究现状将在后续各章中专门介绍,本节省略 1 4 论文结构 本论文的组织结构如图1 1 :第一章是绪论阐述了研究目的与意义,国内外 研究现状和论文组织结构。第二章主要介绍本文相关技术s t m t s 框架,包括 s t m t s 特点及优点、s t m t s 的基本组件以及s t r u m 的控制流程第三章提出一种电 子商务系统开发框架- e s t r u t s 模型。在研究s t m t s 框架的基础上对其扩展,提 出e s t m t s 的电子商务系统开发模型并针对此模型开发的系统提出相应的测试框 架。e s t m t s 结合s t r u t s 及h i b e r n a t e 框架实现w e b 层与数据持久层的封装,同时 2 1 绪论 在高层封装了安全管理及日志管理功能在第四章中,我们对t r u s t - x 信任协商 模型进行了深入分析,研究发现该模型的关键协商算法存在一定缺陷针对 t r u s t x 算法存在的缺陷,本文对该算法进行了改进,并以实例证明了本文改进算 法的可行性最后,为了提高电子商务应用系统的安全水平,本章提出一种该模 型的e s t r u t s 设计,降低了开发难度,促进了该模型的应用,使之易于融入基于 e s t r u t s 的电子商务系统框架中。第五章研究了一种电子商务系统的网上评价纠偏 模型及其e s t r u t s 实现设计。本章针对网上评价存在的误差提出一种纠偏处理技 术,并提出其在e s t r u t s 中实现的通用方法,加强了人们对电子商务的信心该模 型对因评价者自身认知能力造成的偏差的校正有较好的效果第六章为e s t r u t s 模型在电子商务系统开发中的应用本章结合基于纠偏处理的网上评价思想,采 用e s t r u t s 模型实现分销费用管理系统,并对该系统进行测试,然后分析讨论测试 结果,提出系统优化建议。第七章是全文的总结,概述本论文的主要工作及展望 图1 - 1 论文组织结构 1 5 本章小结 本章主要是本论文的概述,主要介绍研究背景、目的与意义、国内外研究现 状及论文结构。 基于s t r u t s 的若干电子商务系统开发技术研究 2 s t r u t s 框架分析 2 1s t r u t s 概述 s t r u t s 是m v c 模型的经典实现,它继承了m v c 的各项特性,具有组件的模 块化、灵活性和重用性的优点1 2 】,并根据j 2 e e 的特点,做了相应的变化与扩展, 从而减少了在运用m v c 设计模式开发w e b a p p s 所花费的时间 3 , 4 1 ,其体系结构如 图2 - 1 所示。从视图组件来看,该组件中只是接收用户的请求及借助丰富的标记 库实现页面显示。从控制器来看,该组件主要是收到用户的请求后,然后根据 s t r u 协- c o n f i g x n i l 配置文件中定义的“动作”映射关系分配到模型组件中相应的 a b t l o l l 中。当业务逻辑处理完后,控制器获得相应的执行结果,并根据配置文件 的定义选择对应的页面显示结果。所以控制器在s t m 忸的w e b a p p s 执行过程中起 着导航的作用。从模型组件来看,模型组件是真正实现业务逻辑的部件 图2 - ls t r u t s 体系结构 基于s t r u t s 的w e b a p p s 除具有m v c 的优点之外,还具有其本身的优点: ( 1 ) s t m t s 是免费开源软件。对于开发者来说,既可免费使用又可通过源代 码更透彻地了解m v c 的内部实现机制并根据需求进行改进 ( 2 ) s t m t s c o n f i 昌x m l 提供了灵活易用的系统导航机制它把系统各部分有 机地联系起来,使整个系统的脉络格外清晰,增强了开发人员对系统的整体把握, 提高了系统的可维护性和可扩充性。 ( 3 ) 允许将s t r u t s 应用划分为几个模块,每个模块有自己的s t m t s 配置文件、 j s p 页面与a n i o n ,从而能够更好地支持并行开发和功能模块化。 ( 4 ) 提供了功能强大的自定义标记库t a 酉i b ,实现了代码重用和代码抽象, 大大提高w e b 开发效率。 ( 5 ) 基于s t m t s 的w e b a p p s ,最大限度地集合了s e r v l e t 与j s p 的优点,且 最小化它们的缺点,从而更好地实现了m v c 模式。 4 2 s t r u t s 框架分析 ( 6 ) s t r u t s 分离了业务逻辑、控制和数据显示功能模块,使得w e b a p p s 功能 划分清晰,开发人员可分别集中各模块开发而不用担心三者之间耦合问题。 ( 7 ) s t r u t s 利用x m l 实现w e b a p p s 多语言支持 2 2s t r u t s 组件 2 2 1 视图组件 在s t r u t s 框架中,视图( v i e w ) 利用s t r u t s 标记库显示模型的数据,通过显示 的形式,把信息转达给用户。s t r u t s 框架的v i e w 组件除了j s i 页面以外,还包括 h t m l 文档、j s p 定制标记、j a v a s c r i p t 和样式表、多媒体文件以及消息资源s t r u t s 的标记库便于创建用户界面,并且提供国际化支持,与a c t i o n f o r m 通过一定的规 则巧妙地相互配合,实现页面显示与j a v a 代码的分离,由控制器自动处理页面与 a c t i o n f o r m 的数据交换 2 2 2 控制器组件 控制器( c o n t r o l l e r ) 通过事件处理过程对输入事件进行处理,并为每个输入 事件提供了相应的操作服务,把事件转化成对模型或相关视图的激发操作在 s t r u t s 中,控制器是以s e r v l e t 实现的一个命令设计模式,s e r v l e t 通常被拆分成 a c t i o n s e r v l e t 、a c t i o n f o r m 、a c t i o n 三个部分 a c t i o n s c r v l e t 接受请求并根据配置文件中的定义将请求分配于相应a c t i o n 类。 若存在与该a c t i o n 相关联的a c t i o n f o r m ,则控制器将先把用户提交的表单数据填 充到该a c t i o n f o r m 中,同时表单若需验证,则只有通过验证后,控制器才将用户 请求转向该a c t i o n ,其余的控制逻辑以及对m o d e l 的访问由a c t i o n 类负责完成 这三个核心类的关系图,见图2 2 图2 2 控制器组件核心类关系图图2 3 控制器组件类关系图 5 基于s t r u t s 的若干电子商务系统开发技术研究 2 2 2 1 a c t i o n s e r v i e t 类 a c t i o n s e r v l e t 类是控制器组件的核心类,位于o r g a p a c h e s t r u t s a c t i o n ,配合配 置文件完成页面导航。基于s t r u t s 的w e b a p p s 一旦执行,w e b 容器在初次或第一 个用户请求到达时加载a c t i o n s e r v l e t 类。当a c t i o n s e r v l e t 第一次被加载后,马上 调用i n i t ( ) 方法,完成s t r u t s 框架所有必要的初始化工作,包括初始化框架包的 内部消息资源、从w e b x m l 配置文件加载控制a c t i o n s e r v l e t 类不同行为的初始化 参数和映射信息、加载并初始化默认应用模块的s t r u t s 配置数据、把s t r u t s 配置文 件中指定的消息资源加载并初始化及存储于应用上下文环境s e r v l e t c o n t e x t 、加载 并初始化s t r u t s 配置文件中声明的每个数据源及插件。当执行完i n i t ( ) 方法后, 用户的每个请求将调用a c t i o n s e r v l e t 类的d o g e t ( ) 和d o p o s t ( ) 方法。这两个方 法都是调用r e q u e s t p r o c e s s o r 类中的p r o c e s s ( ) 方法以及m o d u l e c o n f i g 类来进行 真正用户请求处理,如图2 - 3 所示因为a c t i o n s e r v l e t 类是s t u t s 框架中所提供的 类,不需开发者编写,所以我们只需了解a c t i o n s v r v l v t 的工作原理。对于 r e q u e s t p r o c e s s o r 类,本文不详细介绍,详情请参考文献【5 1 。当完成初始化工作后, a c t i o n s e r v l e t 处理用户请求过程如图2 - 4 。 2 2 2 2 a c t i o n g a p p i n g 类 a c t i o n m a p p i n g 类用于控制状态数据改变后的事件处理方式。a c t i o n m a p p i n g 对象帮助控制框架内部的流程,将请求u r j 映射到a c t i o n 类,并将a c t i o n 类与 a c t i o n f o r m 相关联。在s t r u t s - c o n f i g x m l 配置文件中定义了用户请求与a c t i o n 之间 的映射关系,这些映射关系由a t i o n m a p p i n g 类实现1 6 1 在系统初始化的时候,为 每个a c t i o n 创建一个与之相应的a c t i o n m a p p i n g 实例,当a c t i o n s e r v l e t 转发请求 时,a c t i o n m a p p i n g 实例作为参数之一传递给相应的a c t i o n 对象的e x e c u t e ( ) 方 法。 a c t i o n m a p p i n g 类也并不需要编程者编写代码。它是s t r u t s 框架中自带的类包, 位于o r g a p a c h e s t r u t s a c t i o n 包中,感兴趣的读者可参见w w w o r g s t r u t s 。 6 2 s t r u t s 框架分析 图2 4 处理用户请求过程 2 2 2 3a c t j o n f o r w a r d 类 a c t i o n f o r w a r d 类用于说明用户指向及视图的选择,位于o r g a p a c h e s t r u t s a c t i o n 包中,编程者不需编写该类代码。 a c t i m f f o r w a r d 对象表示w e b 资源的逻辑抽象,可以指一个a c t i 、j s p 页面或 s e r v l e t a c t i o n 执行完e x e c u t e 后将会返回一个a c t i o n f o r w a r d 对象,因此 a c t i o n f o r w a r d 类激发控制器将a c t i o n 类的处理结果转发至目的地当a c t i o n 类获得 a c t i o n f o r w a r d 实例的句柄后。可通过使用f i n d f o r w a r d 方法或创建a c t i o n f o r w a r d 类 的一个实例等多种方法返回到a c t i o n s e r v l c t 2 2 2 4a c t i o n f o r m 类 a c t i o n f o r m 类通过定义属性描述客户端表单数据开发者利用该类与自定义 标记库的结合可以实现对客户端表单数据的良好封装和支持a c t i o n f o r m 用来保 存用户填写表单的数据,然后a l t i o n 对象可以直接对它进行读写,而不需与r e q u e s t 及r e s p o n s e 对象进行数据交互。当然,模型层从数据库中获得的数据也可以传递 给a c t i o n f o r m 并显示到表单相应的项中。该类实现在不同页面问传递数据,也实 现了视图与控制层之间的数据传递。 在动态的w e b a p p s 中,大部分页面都存在对表单的操作。通常,一个表单对 应一个a c t i o n f o r m 类,该类主要包括两个方法:g e t ( ) 和s e t ( ) 方法获取与设 置表单数据,若表单数据需进行验证,则还要编写v a l i d a t e ( ) 方法,同时把 s t r u t s c o n f i g x r a l 中定义的该a c t i o n f o n n 的v a d i l a t e 属性设置为t r u e 。 a c t i o n f o r m 类拥有r e q u e s t 和s e s s i o n 两种作用域,若作用域为r e q u e s t ,则该 类的对象仅在当前请求响应范围内有效,当服务器把相应结果返回给用户后, a c t i o n f o r m 对象将会被销毁;若作用域为s e s s i o n ,则该类的对象在整个m 1 甲会 7 基于s t r u t s 的若干电子商务系统开发技术研究 话中有效。 随着w e b a p p s 程序功能复杂性的增加,页面所涉及的表单数越来越多,程序 中的a c t i o n f o r m 也越来越多;再者随着功能的扩充,网页设计人员也不可能设计 出所有需用到的表单;另外,由于许多表单的部分输入数据项相同,导致大量重 复存储、冗余度高【5 】因此,s t r u t s 框架允许定义动态a c t i o n f o r m 。动态a c t i o n f o r m 只要在s t r u t s - c o n f i g x m l 中配置而不需编写j a v a 代码。 2 2 2 5a c t i o n 类 a c t i o n 类通常负责用户请求映射处理这些请求的业务逻辑,再转向生成响应 传递给客户端页面,是用户请求与业务逻辑之间桥梁,起到控制器与模型之间的 “适配器”的作用,属于低层面的控制器。 a c t i o n 类既可继承a c t i o n 类也可继承d i s p a t c h a c t i o n o 类,并重写类中p e r f o r m 0 方法【7 】或e x e c u t e ( ) 方法,该方法实现业务逻辑处理并返回a c t i o n f o r w a r d 对象。 通常个业务处理对应一个a c t i o n ,若a c t i o n 继承d i s p a t c h a c t i o n 类,则一 个a c t i o n 可实现个业务的相关操作( 如修改、增加与删除) ,从而减少a c t i o n 类的数量,提高开发效率1 8 】。但不同的业务不能放在一个a c t i o n 中实现,如用户 登录与用户注册这两个业务不能放在同一个a c t i o n 中实现,否则将会造成逻辑处 理混乱、模块不清晰、不易维护与扩展。 a c t i o n 是支持多线程的,基于s h u t s 的w c b a p p s 中每个a c t i

温馨提示

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

评论

0/150

提交评论