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

(计算机应用技术专业论文)基于ajax的电子商务系统研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 论文题目 学科专业 研究生 指导教师 基于a j a x 的电子商务系统研究与实现 计算机应用技术 李静签名: 吕林涛教授签名: 摘要 壁盈= 竹 信息化加速了经济全球化,使人类生产和生活方式发生深刻变革。在信息化和经济全 球化的大潮中,电子商务以高效、快捷、方便的优势,以全新的企业经营理念、手段、经 营环境成为经济全球化和信息化的一个重大应用领域和研究热点。 本文主要研究了电子商务系统的应用框架,探讨了电子商务系统非功能性需求的可用 性、可扩展性和可维护性及改进方案。通过分析传统的商务系统请求响应方式所带来的 用户交互可用性的不足,提出了应用s t r u t s 框架和a j a x 异步请求访问技术,提高系统的 可用性;应用m v c 模式的分层设计方法优化客户端代码:结合用户访问控制策略以及x m l 技术,快速实现用户需求变更而带来的系统扩展性需求,使得代码修改程度控制在最小范 围;采用j a v a 语言的强大异常处理机制和完善的日志记录功能,进一步保证了系统的可 靠性与安全性。 在开发网上书店电子商务系统的过程中,作者采用了标准的u m l 面向对象分析方法进 行了系统分析和设计,并将上述技术在系统加以实现。运行效果很好的改善了基于w e b 的 网上书店商务系统的可用性及可扩展性,方便了系统后期维护与升级。 因此,本课题的研究对于构建高可用性,智能性和可扩展性的w e b 应用具有一定的参 考价值。 关键词:m v c ;s t r u t s ;a j a x ;设计模式;x m l 西安理工大学硕士学位论文 t i t l e :r e s e a r c ha n dl m p l e m e n l j a t i o no ft h ee c o m m e r c e s y s t e m b a s e d o na j a x m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y n a m e :j i n gl is i g n a t u r e :! 强占f s u p e r v i s o r :p r o f l i n t a ol us i g n a t u r e :i 丑鱼2z2 f : a b s t r a c t i n f o r m a t i o na c c e l e r a t e se c o n o m i cg l o b a l i z a t i o n ,p r o d u c t i o na n dl i f e s t y l eo fh u m a ni s u n d e r g o i n gp r o f o u n dc h a n g e s ,i nt h ew a v eo fi n f o r m a t i o na n de c o n o m i cg l o b a l i z a t i o n ,w i t h e f f i c i e n t 、 q u i c k 、c o n v e n i e n ta d v a n t a g e sa n d ab r a n dn e we n t e r p r i s eb u s i n e s si d e a 、m e a n s , e n v i r o n m e n t ,e c o m m e r c eh a sb e c o m eas i g n i f i c a n ta p p l i c a t i o nf i e l da n dh o ts p o to f r e s e a r c h t h i s p a p e rm a i n l y r e s e a r c h e so na p p l i c a t i o nf r a m e w o r ko fe c o m m e r c es y s t e m , i n v e s t i g a t e si m p r o v e ds c h e m eo fn o n f u n c t i o n a lr e q u i r e m e n tw h i c hp r o v i d e sa v a i l a b i l i t y 、 s c a l a b i l i t ya n dm a i n t a i n a b i l i t yf o rt h ee c o m m e r c es y s t e m b ya n a l y s i n gl a c k so fa v a i l a b i l i t yo f u s e ri n t e r a c t i o ne x i s t i n gi nt r a d i t i o n a lr e q u e s t r e s p o n s ew a y , p r e s e n t si n t e g r a t i n gs t r u t s f r a m e w o r kw i t ha j a xt h a ta s y n c h r o n o u sr e q u e s t r e s p o n s ea c c e s st e c h n o l o g i e sf o ri m p r o v i n g s y s t e ma v a i l a b i l i t y ;u s e sh i e r a r c h i c a ld e s i g ni d e ao fc l a s s i cm v cd e s i g np a t t e r nf o rc o d e o p t i m i z a t i o no fc l i e n t ;i m p l e m e n t sq u i c k l ys y s t e ms c a l a b i l i t yr e q u i r e m e n tc a u s e db yc h a n g eo f u s e rd e m a n d sa n dk e e pt h ee x t e n do fc o d ec h a n g e da tam i n i m u m ;i na d d i t i o nt h es y s t e ma l s o u s e ss t r o n ge x c e p t i o nm e c h a n i s ma n dl o gr e c o r d sf u n c t i o no ft h ej a v al a n g u a g e ,f u r t h e r e n s u r i n gt h es a f e t ya n dr e l i a b i l i t yo f t h es y s t e m i nt h ep r o c e s so fd e v e l o p i n gt h eo n l i n eb o o k s t o r e se c o m m e r c es y s t e m ,t h es t a n d a r d u m lo o ai s a d o p t e df o rs y s t e m i ca n a l y s i sa n dd e s i g n a n dt e c h n o l o g i e sm e n t i o n e da b o v e h a v eb e e ni m p l e m e n t e di nt h es y s t e m t h ee f f e c ti st h a tg r e a t l yi m p r o v e sa v a i l a b i l i t ya n d s c a l a b i l i t yo ft h eo n l i n eb o o k s t o r ew e b b a s e ds y s t e m s ,a n db e n e f i tt om a i n t a i n i n ga n d u p g r a d i n gs y s t e m sl a t e r t h e r e f o r e ,t h ei s s u e sp r o v i d e db yt h i sp a p e rh a v er e f e r e n c ev a l u ef o rc o n s t r u c t i n ga h i g h a v a i l a b i l i t y , s c a l a b i l i t ya n di n t e l l i g e n c eo f t h ew e ba p p l i c a t i o n k e yw o r d s :m v c ;s t r u t s ;a j a x ;d e s i g np a t t e r n ;x m l i i 独创性声明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学位论文是我个 人在导师指导下进行的研究工作及取得的成果。尽我所知,除特别加以标注和致谢的地 方外,论文中不包含其他人的研究成果。与我一同工作的同志对本文所论述的工作和成 果的任何贡献均已在论文中作了明确的说明并已致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名:盛蜀i2 塑7 年弓月1 9 日 学位论文使用授权声明 本人篮禹i在导师的指导下创作完成毕业论文。本人已通过论文的答辩,并 已经在西安理工大学申请博士硕士学位。本人作为学位论文著作权拥有者,同意授权 西安理工大学拥有学位论文的部分使用权,即:1 ) 已获学位的研究生按学校规定提交 印刷版和电子版学位论文,学校可以采用影印、缩印或其他复制手段保存研究生上交的 学位论文,可以将学位论文的全部或部分内容编入有关数据库进行检索;2 ) 为教学和 科研目的,学校可以将公开的学位论文或解密后的学位论文作为资料在图书馆、资料室 等场所或在校园网上供校内师生阅读、浏览。 本人学位论文全部或部分内容的公布( 包括刊登) 授权西安理工大学研究生部办 理。 ( 保密的学位论文在解密后,适用本授权说明) 论文作者签名:蕴盔i : 导师签名: 明年 月1 1 日 1 概述 1 概述 1 1 课题研究背景及意义 信息化加速了经济全球化,使人类生产和生活方式发生深刻变革。随着电子商务技术 的飞速发展,商务网站作为企业信息发布和功能提供的综合应用,已经逐渐成为i n t e r n e t 上的主要形式。电子商务基于i n t e r n e t ,它包括了从销售、市场到商业信息管理的全过程。 在这一过程中,电子商务通过加速商务处理过程、减少商业成本、创造商业价值、创新商 业机会,从而为企业带来了可观的经济效益“1 。在电子商务中,网站是其拥有者与用户交 流及沟通的窗口,是买方和卖方信息交汇与传递的渠道,是企业展示其商品与服务的舞台, 是企业体现其企业形象和经营战略的载体,因此网站的设计与规划是否合理,高效,便捷, 特色就显得尤为重要m 。 基于b s 架构的m v c ( m o d e l - - v i e w - - c o n t r o l l e r ,即模型一视图控制器) 模式是用 于创建可重用界面程序的面向对象设计模式,它将数据表示、输入控制和数据处理相分离, 使得程序结构清晰并提高了各部分的重用性。1 ,m v c 模式在电子商务网站的设计中得到了 广泛的应用。s e r v l e t 和j s p 技术作为开发电子商务网站的基础,已经成功的实现了浏览器 与服务器端应用程序之间的连接,成为客户端w e b 浏览器和服务器之间资源交流的中介及 平台。构建于s e r v l e t ,j s p ,x m l 等技术之上的s t r u t s 框架是对经典m v c 设计模式的一种 具体实现,它更好的实现了代码重用,使得开发者能够快速的开发具有强可扩展性的w e b 应用,从而缩短开发周期,提高开发效率。但是这种开发模式过于注重后端机制,对于w e b 用户界面的用户交互自然和响应灵敏等方面投入不足,没有充分考虑客户端的处理能力和 技术的发展,在造成客户端资源浪费的同时,也加重了服务器端的负担,此外基于s t r u t s 框架的应用开发,虽然在一定程度上提高了应用程序的扩展性和可维护性,但是对于如何 在实际应用中增强系统的可扩展性还有待进一步研究。 本文以网上书店电子商务系统为应用背景,探讨了经典的s t r u t s 框架的运行机制和 a j a x 异步请求技术,提出了基于a j a x 的改进s t r u t s 框架,提高系统的可用性;结合用 户访问控制策略以及x m l 技术,提高系统的可扩展性。本文中所采用的技术方案对于构建 高可用性,智能性和可扩展性的w e b 应用具有一定的参考意义。 1 2 国内外发展现状 a j a x 技术是由各种技术组合而诞生的新的应用模式,挖掘了w e b 浏览器技术中大量的 尚未实现的潜力,扩展了这些技术原来所能涉及的范围,为构造更好的w e b 能力提供了一 种新的方法,是对传统的桌面软件模式的一次改变。目前a j a x 正在被广泛的采用在基于w e b 的应用服务中,例如:g o o g l e 将a j a x 应用于其开发的g m a i l 、g o o g l es u g g e s t 和g o o g l e m a p s 等网络应用软件中,a m a z o n 推出了应用a j a x 技术的a 9 搜索引擎,苹果电脑、o p e r a 软件公 西安理工大学硕士学位论文 司和m o z il l a 基金组织也正在制定基于j a v a s c r i p t 等技术的w e b 应用规范,财富5 0 0 强,包 括主要的金融机构、政府机构、航空公司和其他主要商业机构也采用a j a x 技术。微软公司 也正积极地转向基于w e b 的应用软件服务,如: m s ns p a c e 以及m s nv i r t u a le a r t h 服务中 采用t a j a x 技术,并在已经正式发布v i s u a ls t u d i o2 0 0 5 中集成a t l a s ,使开发人员更方 便的创建a j a x 程序;著名的图片存储网站f l i c k r ,将a j a x 融于网站之中,为网站提供了更 好的功能服务。在国内a j a x 技术也得到了很好的应用,如f o t o l o g 、巴巴变、y u p o o 和网易, 尤其网易在新一代的收费邮箱一1 8 8 财富邮中创新使用了a j a x 技术,使系统响应和页面加 载更加流畅,使得w e b 由b 箱的工作性能接近基于桌面的客户端软件。这一切的成功都表明, 在网络这个以信息化为主载的世界,快捷与方便几乎成为每一个成功网站的关键。 1 3 主要研究内容及开发工作 本课题主要完成了以下几方面的理论研究与开发工作: ( 1 ) 分析了用于w e b 应用开发的s t r u t s 架构的优缺点,提出了用于改进其可用性及可 扩展性的解决方案。 ( 2 ) 将a j a x 技术融入s t r u t s 架构中,改善传统的基于b s 架构的电子商务系统的不足, 并在客户端采用m v c 模式来改进客户端代码的设计与实现。 ( 3 ) 进行与w e b 技术相关方面的研究:数据库访问与性能,用户访问控制策略,组件 技术,x m l 数据表示与界面控制技术,客户端脚本技术。 ( 4 ) 采用u m l 面向对象分析方法对系统进行分析与设计,借助开发工具与平台实现了 基于a j a x 的网上书店电子商务系统,并对在设计实现中遇见的问题及难点进行了研究,给 出了作者认为可行的解决方案。 2 2 系统开发相关技术 2 系统开发相关技术 2 1s t r u t s 框架 电子商务已经成为目前商务领域中非常重要的一种运作方式,如何快速、高效地构建 客户所需要的电子商务系统已经成为j a v aw e b 开发者必须考虑的问题。随着用户对软件 功能的要求越来越高,软件的应用范围不断扩展,软件的可移植性,可扩展性以及软件复 用等问题变得十分重要。设计模式是对以往成功的解决方案的重复利用,在软件设计领域 中,优良的设计模式可以成功的对软件设计方式进行重用,对专业软件开发人员的技术和 经验进行重用,可以有效的降低开发风险,提高开发效率。s t r u t s 框架即是对经典的m v c 设计模式的一种具体实现,s t r u t s 为w e b 应用提供了通用的框架,可以最大限度的实现软 件复用,让软件开发人员从繁琐的工作中解脱出来,将主要精力集中在解决实际的业务处 理问题上,并允许开发人员根据实际需要进行扩展和定制,从而快速的开发强扩展性的w e b 应用嘞。 2 1 1 经典的w c 设计模式 a 设计模式 在面向对象系统的设计中,可以认为,类及其生成的对象是构成面向对象系统的最基 本元素;采用设计方法组合这些元素,得到构成面向对象系统的构件,同时,这些构件的 设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象系统的基本设计参考, 也称为设计模式( d e s i g np a t t e r n ) 嘲。开发人员一般采用设计模式来抽象和总结系统构件 的设计方法,同时将它应用于新的系统构件的设计中。使用类和对象,使开发人员在元素 的层次上实现了重用性;使用设计模式实现了系统构件的重用性。 设计模式使开发者可以更加简单方便地复用成功的设计和体系结构,同时对将来的问 题和需求也具有足够的通用性。将已证实的技术表述成设计模式,可以使新系统的开发者 更加容易理解原有的设计思路和方法。设计模式在很大程度上改善了软件程序结构,使设 计具有更好的弹性。它提供了在特定应用场景下解决问题的类、对象及相互关系的设计方 法。这些方法并不针对于具体的系统,只是提供了一种设计系统的思路,这样做只是为系 统搭起了一个“空架”,要真正完成系统的开发还需要完成许多具体的编程工作m 。一个 设计模式可能用于不同的系统,一个系统也可能会用到多个设计模式。使用合适的设计模 式,不但使代码可重用性、可扩展性得到增强,而且最重要的是能够加快系统的开发速度, 提高开发效率。 b 叭f c 设计模式 m v c ( m o d e l - - v i e w - - c o n t r o l l e r ,即模型一视图一控制器) 是一种可用于w e b 开发的经 典设计模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3 个组成部分。 西安理工大学硕士擘位论文 ( 1 ) 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用 户的输入数据,但是他并不进行任何实际的业务处理。 ( 2 ) 模型是应用程序的主体部分。模型表示业务数据和业务逻辑。 ( 3 ) 控制器用来接受用户的输入并调用模型和视图去完成用户的需求。当w e b 用户 单击w e b 页面中的提交按钮来发送h t m l 表单时,控制器接收请求并调用相应的模型组 件去处理请求,然后调用相应的视图来显示模型返回的数据。 m v c 模式克服了以往w e b 程序将像数据库查询语句这样数据层代码和像h t m l 这样 的表示层代码混在一起而使得维护j s p 网页非常困难,也很难满足用户的变化性需要的 缺点。从根本上强制性地将它们分开,首先,多个视图能共享一个模型。也就是说,在m v c 设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用 户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用;其次,模型是自包含的, 与控制器和视图保持相互独立,所以可以方便地改变应用程序的数据层和业务规则;此外, 控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完 成用户的需求,也可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图, 控制器可以根据用户的需求选择合适的模型进行处理,然后选择适当的视图将处理结果显 示给用户御。m v c 通过强制性的分离三个模块,实现了设计思想中松耦合的设计要求,使 得三个模块之间改变其中一个不会影响到另外两个。m v c 适合业务逻辑复杂的大型应用程 序,m v c 使得软件在健壮性、代码重用和结构方面上一个新的台阶。从这个角度考虑,在 应用程序开发的最初构建m v c 框架是十分必要的 2 1 2s t r u t s a 框架 框架( f r a m e w o r k ) 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实 例间交互的方法。一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了 整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实 例之间协作的方法。1 。通常将被验证为有效的、相同类型问题的解决方案进行抽象,即可 提取形成一个应用程序框架。 框架结构具有以下的优点: ( 1 ) 模块化:通过将不稳定的实现细节封装于稳定的界面后面,框架加强了模 块化。设计阶段和实现阶段的决策改变会给软件系统带来很大的冲击,模块化 可以把这种冲击限定在局部的范围以内。 ( 2 ) 可复用性:框架定义的稳定接口有助于组件的产生和设计,这些组件可 以复用于别的系统,框架组件的复用可以大规模地提高软件的开发生产率、软 件质量、软件可靠性和协同性。而且,框架描述了该领域内的知识和以前开发 者的宝贵经验,这样就不需要对该领域内的核心需求进行重复理解,并且提高 4 2 系统开发相关技术 了核心设计的质量。 ( 3 ) 可扩张性:通过提供外在的钩子方法,允许应用程序扩展己有接口,框 架技术加强了可扩展性。 ( 4 ) 反向控制:框架的运行时间体系结构的一个最大的特点就是反向控制。过 程是框架的反应派遣机制调用各个事件的管理对象,通过对这些事件管理对象 的组织,形成规范的应用程序总体流程。当某个事件发生时,就会唤醒某个事 件管理对象的钩子方法,接着框架的反应派遣机制就会反应。当外部事件发生 时,不是具体定制的应用程序,而是内部的核心框架来决定哪些方法将被唤醒 以处理该事件。 b s t r u t s 框架 在软件开发者开始一个软件项目时,首先应该构思该软件应用的框架,规划软件模块, 并定义这些模块之间的接口和关系。但是要从头设计开发出一个可靠、稳定的框架并不是 一件容易的事。随着w e b 开发技术的日趋成熟,在w e b 开发领域出现了一些优秀成熟的框架, 使得开发者可以在此基础之上进行快速,高效的开发,构造出结构良好,高可重用性的应 用。s t r u t s 就是其中的一个广泛应用于w e b 开发的优秀框架“”。 使用s t r u t s 框架,开发者可以集中精力编写应用程序业务逻辑和表示层代码,其它事 情都交给s t r u t s 框架负责。从而加速项目的开发进程,降低学习与开发w e b 应用的难度“”。 s t r u t s 是在j s p m o d e l2 的基础上实现的一个m y c 框架。在s t r u t s 框架中,模型由实现 业务逻辑的j a v a b e a n 或e j b 组件构成,控制器由a c t i o n s e r v l e t 和a c t i o n 来实现,视图由一 组j s p 文件构成,s t r u t s 框架结构如图2 1 所示。 图2 1s t r u t s 框架结构 f i g2 - 1s t r u t sf r a m e w o r ks t r u e m r e 视图 视图( v i e w ) 是一组j s p 文件。在这些j s p 文件中没有业务逻辑,也没有模型信息,s t r u t s 把复杂的处理分离到m o d e l 和c o n t r o l l e r 组件中,从而使j s p 变得更加小巧并且有利于程序 员与设计师职责的分利“”,大大简化并加速了开发、测试及维护的工作。同时s t r u t s 提供 了丰富的j s p 标签库:h t m l ,b e a n ,l o g i c ,t e m p l a t e 等,并且还允许开发者自定制标签,通 过使用这些标签创建的j s p 窗体,可以更好的和系统的m o d e l 部分交互,实现和m o d e l 部分 西安理工大学硕士学位论文 中的a c t i o n f o r m 的映像,完成对用户数据的封装。从而有利于表示逻辑与程序代码分离。 模型 模型( m o d e l ) 表示应用程序的状态和业务逻辑“”。对于大型应用,业务逻辑通常由 j a v a b e a n 或e j b 组件来实现。m v c 系统中的模型根据其作用可划分为两部分:记录系统状 态的b e a n 和封装业务逻辑的b e a n 。系统状态b e a n 主要用来封装和维护系统状态信息,业务 逻辑b e a n 主要用来封装具体的商业逻辑,即信息处理规则。s t r u t s 通常使用一组j a v a b e a n 表示系统状态,根据系统的复杂度也可以使用像e n t i t ye j b 和s e s s i o ne j b 等组件来实现 系统状态。s t r u t s 为m o d e l 部分提供了a c t i o n 和a c t i o n f o r m 对象:a c t i o n 类实现核心商业 逻辑,它可以访f 司j a v ab e a n 、调用e j b 或访问后台数据库,调用业务逻辑模块,并将结果 提交到合适的v i e w 组件以产生响应;a c t i o n f o r m 对象通过定义属性对客户端表单数据进行 描述,它结合自定义标签库实现表单数据的良好封装和支持,使得a c t i o n 对象可以直接对 它进行读写,不再需要和r e q u e s t ,r e s p o n s e 对象进行数据交互,从而实现了对v i e w 和 m o d e l 之间交互的良好支持。s t r u t s 在实现时把做什么( a c t i o n ) 和如何做( 业务逻辑) 分离, 保持了模型与视图和控制器的分离,保证了最大限度的实现业务逻辑的重用。 控制器 s t r u t s 架构的核心是一个m v c 风格的控制器( c o n t r o l l e r ) ,该控制器实际上是模型组 件和视图组件之间的桥梁,是整个w e b 应用程序的“控制中枢” 1 s os t r u t s 架构中控制器 组件所承担的主要功能是:接受浏览器客户端的处理请求,调用对应的模型组件来执行相 应的业务逻辑,根据当前的状态数据及业务逻辑的处理结果,选择合适的视图组件呈现在 浏览器客户端。在s t r u t s 中控制器的功能由a c t i o n s e r v l e t 类和a c t i o n 类来实现, a c t i o n s e r v l e t 类是s t r u t s 框架中的核心组件,它在m v c 模型中扮演着中心控制器的角色, a c t i o n s e r v l e t 负责接受客户端的请求,并根据配景文件将之分发到相应的a c t i o n 对象处 理。a c t i o n 类负责调用模型的方法,更新模型的状态,并控制应用程序的流程,对于大型 应用,a c t i o n 充当着用户请求和业务逻辑处理之间的适配器,不用于实现具体的业务逻辑, s t r u t s 应用程序的工作流程“”如图2 2 所示。 6 图2 - 2s t r u t s 应用程序的工作流程 f i 9 2 - 2 w o r k f l o w o f s t r u m a p p l i c a t i o n p r o g r a m s t r u t s 应用程序的工作流程清楚的体现了m v c 系统的特点,s t r u t s 控制器的 2 系统开发相关技术 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 对象把请求映像至u a c t i o n 处理器对象进行处理。a c t i o n 处理对象访问a c t i o n f o r m 中的数据,处理和响应客户请求, 根据需要调用后台的b e a n 组件,这些组件封装了具体的业务逻辑。a c t i o n 处理器对象根据 处理结果通知控制器进行下一步的处理。 s t r u t s 为我们提供了一个非常好的m v c 框架,利用s t r u t s 架构开发大型w e b 系统,大大 提高了后期软件开发的效率,有利于构建结构清晰,易于扩展及可复用强的应用系统。 2 2a j a x 技术 2 2 ia j a x 的产生 a r i a ( r i c hi n t e r n e ta p p ii c a t i o n s ) 与a j a x 在传统的基于请求响应的w e b 开发模式中,首先用户触发一个连接到w e b 服务器的 i i t t p 请求,服务器对其进行解析,交于后台进行业务处理,再把结果渲染成h t m l ,最后将 其传到浏览器,传统的w e b 处理流程如图2 - 3 所示。 i 浏 ;览 u s c f i i i k h :器 l 端+ h 郇删一ii “州懈 ! 服 务 w c bs e r v i c e ;器 i 端 上t d a t as l o r c s 图2 - 3 传统的w e b 处理流程 f i g2 - 3t r a d i t i o n a lw e bh a n d l i n gf l o w 在传统的交互方式中,每当服务器处理客户端提交的请求时,客户都只能空闲等待。即 使从服务器端得到很简单的一个数据,都要返回一个完整的h t m l 页,而用户每次都要浪费 时间和带宽去重新读取整个页面,从而降低了w e b 应用的执行速度。”。 这种传统w e b 应用程序的开发是基于页面的、服务器端数据传递的模式,它将w e b 应用 程序的表示层建立于h t m l 页面之上,而h t m l 是适合于文本的,渐渐已不能满足网络浏览者 的更高的、全方位的体验要求了,这就是被m a c r o m e d i a 公司称之为的“体验问题” ( “e x p e r i e n c em a t t e r s ”) ,而丰富互联网应用程序( r i c hi n t e r n e ta p p l i c a t i o n s ,缩 写为r i a ) 的出现也就是为了解决这个问题。丰富互联网应用程序是下一代的将桌面应用 程序的交互的用户体验与传统的w e b 应用的部署灵活性和成本分析结合起来的网络应用程 序。丰富互联网应用程序中的富客户端技术提供可承载已编译客户端应用程序( 以文件形 式,用h t t p 传递) 的运行环境,客户端应用程序使用异步客户服务器架构连接现有的后 端应用服务器,是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型采 7 西安理工大学硕士学位论文 用w e b 服务所驱动,结合了声音、视频和实时对话的综合通信技术,使富因特网应用程序 ( r i a ) 具有前所未有的网上用户体验。 目前的富客户端技术有a j a x ,f l a s h ,f l e x ,j a v a ( a p p l e t 或j a v a 应用程序) ,x u l 等, 这些技术各有优缺:f l e x 和f l a s h 的最大缺点在于对x m l 和w e b 服务等标准的支持很有限,而 且作为应用开发工具的环境还不大成熟,f l e x 和f l a s h 的优点在于它可以很容易的用来创 建复杂的动画式显示,以及可以使用第三方控件;j a v a 主要用于工业级需求:对于全面型 应用,a j a x 无疑是最好的选择,a j a x 是对现有技术的整合,开发人员不必学习一种新的语 言,a j a x 的运行环境是浏览器,因此不需安装任何软件,目前几乎所有的浏览器对a j a x 提供了支持,使用a j a x 简单方便,而且满足绝大多数用户交互的需求,本系统的实现采用 a j a x 技术用于构建高可用性的w e b 用户交互过程。 b 基于a j a x 的w e b 开发方式 与传统的w e b 应用开发方式比较,基于a j a x 的开发方式在用户和服务器之间加了个 中间层( a j a xe n g i n e ) ,使用户操作与服务器响应异步化嘲1 ,并不是将所有的用户请求都 提交给服务器,像一些数据验证和数据处理等都交给a j a x 弓j 擎自己来做,只有确定需要从 服务器读取新数据时再由a j a x 引擎代为向服务器提交请求,服务器传回的是业务数据而非 h t m l ,引擎接受之后,进行渲染,通过浏览器的解析在页面上显示出来,基于a j a x 的w e b 处理流程如图2 - 4 所示。 l 浏 l 览 u s e r i n u t f a c e l 器 l 墙 f t 。 甲一叶“ l n 1 p “ 一l a j a x e n g i n c mc 格 it m 甲t e q t u s t 冲n 蛔 ;服 渔 w 曲f v i 旧j rt 【 a 协s 忉e 嚣 图2 4 基于a j a x 的w e b 处理流程 f i 9 2 - 4 w e b h a n d l i n g f l o w b a s e d o n a j a x 在a j a x 方式下,h t t p 基于请求响应的模式仍然没有变化,但是却使得事件的监听和 处理在浏览器内部实现,整个请求响应的反应周期被缩短,事件的处理粒度可以更方便 的做到更细,而且由于支持异步方式发送r e q u e s t 请求和接受r e s p o n s e 响应,用户事件的 控制有了更大的灵活性。虽然h t m l 与程序的异构性仍然存在,但是由于把页面渲染放到浏 览器中,不仅减轻了服务器的负担,而且使得开发者可以通过d o m 对h t m l 的各个组件以对象 的方式进行访问与控制而不是刷新整个页面,使得页面的渲染变得更加灵活,简便,丰富 多彩,更主要的是a j a x 的根本理念是“按需取数据”,所以采用a j a x 技术最大可能的减少 2 系统开发相关技术 了冗余请求和响应对服务器造成的负担,提升了网站的整体性能。 2 2 2a j a x 技术组成 a j a x ( a s y n c h r o n o u sj a v a s c r i p ta n d ) ( m l ) 是几项技术按一定方式组合在一起“”, 在共同的协作中发挥各自的作用,它包括:使用x h t m l 和c s s 标准化呈现;使用d o m 实现动态 显示和交互;使用x m l 和x s l t 进行数据交换与处理;使用x m l h t t p r e q u e s t 进行异步数据读 取;最后用j a v a s c r i p t 绑定和处理所有数据。在这里只对本系统中采用的技术做详细说明。 a 文档对象模型_ d o m ( d o c u m e n t o b j e c t m o d e l ) 是一个w 3 c 规约,可以以一种独立于平台和语言的方式 访问和修改一个文档的内容和结构。d o m 实际上是以面向对象方式描述的对象模型,它定 义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系“日,这 些对象可以由当今大多数的浏览器以s c r i p t 来取用。d o m 提供一组a p i 给h t m l 和x m l 文件使用,使得所有w e b 开发人员可操作以及建立文件的属性、方法及事件。一个用h t m l 或x h t m l 构建的网页也可以看作是一组结构化的数据,这些数据被封装在d o m 中,d o m 提 供了对网页中各个对象的读写支持,表2 1 列出了用于处理x m l 文档的d o m 元素性与方法。 , 表2 - 1 用于处理x m l 文档的d 叫元素属性与方法 属性名描述 c h i l ( n o d e s 返回当前元素所有子元素的数组 f i r s t c h i i d返回当前元素的第一个下级子元素 n e x t s i b l i n g 返回紧跟在当前元素后面的元素 n o d c v a l u c 指定表示元素值的读,写属性 方法名描述 g e t e l e m e n t b y l d ( i d ) ( d o c u m e n t ) 获取有指定唯一i d 属性值文档中的元素 g e t e l e m e n t b y t a g n a m e ( n a m e ) 返回当前元素中有指定标记名的子元素的数组 h a s c h i l d n o d e s o 返回一个布尔值,指示元素是否有子元素 g e t a t t r i b u t e ( n a m e ) 返回元素的属性值,属性由n a m e 指定 b 层叠样式表c s s c s s ( c a s c a d i n gs t y l es h e e t s ) 是一种用于制作网页的技术,现在已经为大多数的 浏览器所支持,成为网页设计必不可少的工具之一。概括起来c s s 样式有以下几个重要作 用: ( 1 ) 把网页上的内容结构和格式控制相分离,使得网页可以光由内容构成,而将所有 网页的格式控制指向某个c s s 样式表文件,从而简化了网页的格式代码,加快网页下载显示 的速度,也减少了需要上传的代码数量。 ( 2 ) 使维护和更新网页变得更加容易,只要修改保存着网站格式的c s s 样式表文件就 可以改变整个站点的风格特色,增强了控制页面布局能力,大大减少了无谓的重复劳动。 c 可扩展标记语言x m l ) ( m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是用来描述数据结构的一种语言,他使对某些 9 西安理工大学硕士学位论文 结构化数据的定义更加容易,并且可以通过他和其他应用程序交换数据。x m lk b 万维网协 会( w 3 c ) 创建,同h t m l ( h y p e r t e x tm a r k u pl a n g u a g e 超文本标记语言) 一样,是基于s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 的嘲,x m l 与h t m l 有不 同的侧重点:h t m l 被设计用来显示数据,着重描述w e b 页面的显示格式:而x m l 被设计用来 描述、存储数据,着重于w e b 页面的内容描述。x m l 语言具有以下特点胁1 : ( 1 ) 良好的可扩展性 x m l 没有固定的标记,用户可以根据需要,自己定义标记。 ( 2 ) 内容与显示的分离 在采用h t m l 语言描述的w e b 页面中,页面中的数据与显示混合在一起,如果要改变数 据的表示形式,则不得不重新编码所有的h t m l 文件,此外由于h t m l 所携带的信息不是语义 上的描述,而是显示上的描述,所以在数据中寻找信息非常困难。采用x m l 语言可以解决 h t m l 的不足,它将显示样式从数据文档中分离出来,即数据与显示数据的样式分别存放, 这样,如果只需改动信息的表示方式,只要改动样式文件,无需改动信息本身,反之反是, 其次x m l 是自我描述语言,具有很强的自我描述能力,x m l 文档不仅带有数据,而且带有相 应的数据描述,x m l 格式的数据发送给客户后,客户使用应用软件在本地就可以分析和处 理数据,不再需要请求服务器分析处理数据本身,可以根据不同的显示要求灵活地显示x m l 数据,这样客户端不再是服务器单纯的一个显示终端,而且具有了工作站的意义。 ( 3 ) 严格的语法要求 x m l 非常注重准确性,如果语法有丝毫差错,分析器都会停止对它的进一步处理。因 此具有较好的可读性和可维护性,而且也大大减轻了浏览器开发人员的负担,同时提高了 浏览器的时间空间效率。 ( 4 ) 充分利用数据 由于x m l 数据是以纯文本格式存储的,从而提供了一种与软件和硬件无关的共享数据 方法,利用x m l 的这种与软件、硬件和应用程序的无关性,可以使得x m l 数据被更多的用户 和设备所利用,而不仅仅是基于h t m l 标准的浏览器,所以其它的客户端和应用程序可以把 x m l 文档作为数据源来处理,就像是从数据库取得数据一样,使得数据可以被各种各样的 “阅读器”处理,以满足不同用户的需求。 x m l 语言所具有的优良特性,使得x m l p j 经成为网上数据和文档传输的标准语言。 d x m l h t t p r e q u e s t 对象 a j a x 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据( 又称无刷新更 新页面) ,这一特点主要得益于x m l t i t t p 组件的x m l h t t p r e q u e s t 对象。它使得不用每次都刷 新界面也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加 快了响应速度、缩短了用户等候时间。 x m l h t t p r e q u e s t 最早是在i e5 中以a c t i v e x 组件的形式实现的,它使得开发人员不用 从当前的w e b 页面导航而直接传输数据到服务器上或者从服务器取数据。这样减少了无状 1 0 2 系统开发相关技术 态连接的痛苦,还可以排除下载冗余h t m l 的需要,从而提高了进程的速度嘲。由于不同浏览 器厂商中对x m l h t t p r e q u e s t 对象采用了不同实现方式,所以在具体的实现中必须区别不同 的浏览器类型以创建x m l h t t p r e q u e s t 对象的实例。i n t e r n e te x p l o r e r 把x m l h

温馨提示

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

评论

0/150

提交评论