【VC++开源代码栏目提醒】:以下是网学会员为您推荐的VC++开源代码-基于WebWork的WEB研究与应用 - 硕士论文,希望本篇文章对您学习有所帮助。
武汉理工大学 硕士学位
论文基于WebWork的WEB研究与应用 级别:硕士 专业:信号与信息处理 指导教师:杨春金 20090401 摘 要 随着互联网的高速发展,传统的基于C/S架构的管理系统己经无法满足企业级应用的需求,基于B/S结构的web应用程序逐渐成为最为广泛的应用开发技术,目前很多应用系统都建立在Web基础上。
框架技术与设计模式是J2EE中重要的软件重用技术,框架技术通过重用来提高软件的开发效率。
框架是为其他平台提供各种接口和功能服务的基础构件,在系统开发中,扮演着至关重要的角色,起着关键的作用,是产品的中流砥柱。
框架是采用J2EE技术的应用服务器、完全面向对象的Java语言开发的多层体系结构的应用系统。
应用框架开发web应用程序,开发周期大大缩减,安全性更高,扩展性更好。
几乎所有框架技术都会使用某种或多种设计模式,架构简单地说就是几种框架的组合。
如何选择框架建立适合企业应用的架构,同时让各个应用层以松散耦合的方式相互作用,这给开发人员提出了挑战。
MVC设计模式分离了业务逻辑和数据表现,在实现多层Web应用系统中具有明显的优势。
WebWork是一个实现了MVC模式的Web应用框架,它全面减轻了构建多层web应用的负担。
轻量级容器使用依赖注入的设计原理,可以动态地使系统主要组件之间的耦合变松散。
Hibernate是一个歼源的持久层框架,它全面减轻了数据库开发的复杂度,使系统具有更好的性能和移植性。
本文针对上述问题,对WebWork和Hibernate两种框架进行研究,具体分析各个框架在web应用的不同层次上所发挥的作用,并整合两种框架,设计出一个适合企业web应用的Java通用架构,并将WebWork应用中的业务逻辑交给业务组件工厂管理,更下层的数据访问对象(DataAccessObject)交给DAO工厂管理,两者都通过配置文件完成,而Hibernate负责数据的持久化操作。
最后,用一个实际的Web系统对架构应用进行具体实现。
开发结果表明,通过框架的合理使用,降低了
代码的耦合性,减少开发周期,达到快速、高效的开发,为程序开发者提供了便利,而且整个系统具有平台无关性,大大提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性。
关键词:WebWork;Hibernate;MVC;框架 Abstract With the fast development of Internet,traditional MIS(Mana蛔ent Information System)based on C/S(Client/Server)rarely satisfies enterprise’s南ed,where as W-eb application based Oil B/S(Browser/Server)have gained wide p4tpularity graduallM There are more and more systems based Oil Web. Framework technology and design pattems have been important software姗se technology in J2EE,framework technology use software reuse tedmology to i瑚【proVc the efficiency of software development.Framework is the basic component whidh supplies various interfaces and functions for other it platforms,SO plays a lhndamental role in systems development and is the backbone of ProduⅨs.What,s more,framework is an application system with multiple which is layers object。
oriented and developed on JaVa, and framework could also be called application server.If Web application would be developed based on矗.aIIlework.me development cycle would be greatly reduced,with highel”safety and expaIlsibili蚀So how to select frameworks to set up architecture for enterprise application.while each application layer affects each other through loose coupling,is one great cllalleIlge硒r developer. MVC has separated business logic and data presentation,80 it has鳓t advantages in Web application with multiple layers.W|ebW6rk is 011e岔am铡∞d(which has implemented MVC pattern and greatly reduced developer,s burden toconstruct multiple layers of Web application.Lightweight con蜘nef is based on thepnnClple of dependency injection,SO it could realize loose coupling锄ong mainccHnpon眺of system dynamically.Hibernate is a persistent framework and觚opensourCc,whose main advantage is that it greatly reduces complexity of data basedevelopment and adds expansibility and performance of system. According to the problems above,this paper made deep research on twoframework:Webwork and Hibernate,analyzed their roles on di衢器ent lay留s of Wrebapplication,integrated the two framework,developed one architecture wMch w勰 IIsuitable for enterprise Web application.In this architecture,business in WebWork wasmanaged by factory of business component,while Data Access Object below wasmanaged by DAO factory,both of which were accomplished by figuration files,whileHibernate was just responsible for persistence of data.Finally,a real system Wasrealized based on this architecture.As for the final result,by the proper use offramework,both the coupling of code and the development cycle had been greatlyreduced,SO it brought developers great convenience while it also improved efficiencyof development.Further,since this system had platform independence,it would bemuch easier to maintain,expand,transplant,and reuse this system. Key words:WebWork;Hibernate;MVC;Framework III 独创性声明 本人声明,所呈交的
论文是本人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,
论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均己在
论文中作了明确的说明并表示了谢意。
签名: 白期:掣 关于
论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位
论文的规定,即学校有权保留、送交
论文的复印件,允许
论文被查阅和借阅;学校可以公布
论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存
论文。
(保密的
论文在解密后应遵守此规定) 一与严挥翩躲奄辙吼历r多 武汉理J:大学硕+学位
论文 第1章绪论1.1研究背景 当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不暇接。
由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展的强大动力,成为人们交流讨论的纽带,其地位越来越重要。
传统的C/S(Client/Server,客户机/Jig.务器)体系结构虽然采用的是开放模式【l】,但这只是系统开发一级的开放性。
在特定的应用中,无论是客户端还是服务器端都需要特定的软件支持。
由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,而且维护成本高,效率低,已经很难适应百台电脑以上局域网用户同时使用。
随着以基于H郇(超级文本传输协议)协议的web技术为代表的Internct/Intranct技术的普及和广泛应用,企业级应用软件的计算模式也由传统的C/S模式转向了基于TCP/IP(传输控制协议/网际互联协议)标准协议的三层B/S (Browser/Server,浏览器/HI务器)模式,其基本思想是以Web浏览器、服务器和Intcrnct上的标准协议(如TCP/IP、Http等)作为企业内部应用的标准平台。
目前很多应用系统是建立在Web基础上,建立依托Web的企业应用平台已经成为目前大部分企业应用的首要选择。
B/S结构也成为目前主流的企业应用系统的开发体系【21,基于B/S结构的wcb应用程序也成为Intcrnet上使用最为广泛的应用开发技术,因其具有易用性、通用性和良好的可扩展性等优点而迅速发展,它支持实时的信息发布,动态的用户交互及与后台系统灵活安全的连接。
因此构建功能更加强大、应用更为灵活的、开发更为简便的web应用程序成为当前Intemet技术发展的热点。
正因为如此,如何才能方便、快捷的开发出具有高效性、灵活性和易扩展性的Web应用系统,如何选择相应技术去构建Web系统,也越来越成为一个倍受人们关注的研究课题。
武汉理工火学硕士学位
论文 。
1.2研究现状 SUN公司J2EE平台的成熟,为Web应用程序更进一步的发展提供了更广阔的空间。
目前,大部分使用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程,虽然开发速度比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重要性。
产品设计弹性力度很小,很难满足用户的变化性需求。
与这些传统的开发模式相比,J2EE是一种企业级的应用,有着严格的规范,更能够胜任快速开发一个灵活而又功能强大的Web信息系统【3】。
面向Web应用系统开发的技术发展迅速,新技术不断涌现。
在服务器端,当前广泛使用的技术有CGI,ASP,PHP,JSP,Java Servlet等;而在客户端,则包括VBScript,JavaScript,JavaApplet等。
这些技术为Web应用系统的开发奠定了坚实的基础。
总体来说,这些技术在开发效率、运行速度、分布式事务处理以及可扩展能力等方面,具有各自的优势,这就要求开发人员在开发过程中依据具体要求灵活选用。
通常情况下,一个实际的Web应用系统是由多个开发人员,依据各自承担的任务,采用不同的技术进行协同开发而成。
但是,在目前的许多实际项目的开发过程中,由于缺乏一个规范的编程丌发模式,各部分开发人员之间缺乏充分的交流而导致出现互相影响、互相制约的局面,造成系统开发、集成与维护的成本的上升。
因此,为Web应用系统的开发引入一套规范、合理、有效的开发模式就显得尤为重要了,而MVC(Model.View—Controller,即模型一视图一控制器)模式凭借其特有的模型与显示分离、有控制器进行流程控制等优势,大大缩短了Web开发周期〔41,符合了当前Web应用系统开发的基本要求,已逐渐成为开发web应用系统的主流模式。
目前,基于Web的MVC框架非常多,发展也很快,新的MVC框架也不断涌现,例如像Struts,Spring MVC,Tapestry,JSF等【51。
除了这些应用已经相当广泛的MVC框架外,还有一些网络社区团队开发的MVC框架也很有借鉴意义。
对于~个企业到底选择使用何种MVC框架而言,框架的稳定性应该是最先考虑的问题。
对于一个刚刚起步的框架,如果不经历实际项目的应用,其本身存在的一些问题可能被完全隐藏,将这些框架自身的Bug引入企业的系统应用,势必会给企业的系统开发带来诸多问题。
目前,上文中提到的基于Web的MVC框架在web研究与开发中存在着一 2 武汉理』=人学硕士学位
论文些问题,如:事务请求的线程安全,数据类型的转换,数据验证。
在系统开发初期,这些问题时刻困扰着系统设计人员,他们不得不慎重地考虑选择相应的技术去解决这些问题。
作为OpenSymplaony组织开发的,致力于组件化和
代码重用的J2EE Web框架WebWork项目f6】,它对Struts框架进行了革命性改进,引进了不少新的思想、概念和功能。
WebWork针对现有的基于web的MVC框架在Web研究与开发中存在的问题提出了很好的解决方案,其特有的线程模型、数据类型转换以及框架整合技术,很好地解决了目前各种框架出现的诸多问题,并在实际Web应用中得到了良好体现。
1.3研究内容 本文主要的研究内容: 1)详细分析了WebWork框架的模型,以及WebWork框架是如何实现基 于web的MVC模式。
2)深入探讨webwork框架相对于其他Web框架的优势所在,并详细分析 了WebWork框架的技术特点。
3.)整合Webwork和Hibernate框架,并应用到实际的Web系统开发中。
本文的组织结构如下: 第1章介绍本文的研究背景和研究现状,从体系结构的发展,对基于J2EE平台的web技术的发展历程和不同阶段来说明研究目的和意义,同时简要介绍了本文的研究内容和和组织结构。
第2章 以电子商务的高速发展为背景,从应用系统功能要求的角度出发,深入分析了WebWork框架,提出了技术实现方案以及系统的整体架构。
第3章通过应用WebWork作为表示层实现,应用Hibernate作为持久层实现,进行框架整合,从而设计出了一套足够灵活、松散耦合、可扩展且高效的Web开发框架,协同完成本系统的功能要求。
第4章对全文进行总结,分析其中的不足,并提出未来研究的发展方向和有待进一步解决的问题。
3 武汉理工大学硕十学位
论文 第2章系统功能与技术选择 Java EE应用以其良好的可扩展性和可靠性,迅速应用于企业信息化平台、电信、银行等支撑系统上。
使用Java EE技术作为系统的实现,不仅可以提供良好的可维护性,还可与异构系统整合,是一种开放性系统。
2.1系统功能 电子商务是在互联网开放的环境下,基于B/S体系结构,实现消费者与商户之间的网上交易和在线电子交付的一种新型的商业运营模式川,也是一种典型的Web应用。
如何把企业业务建立在Internet上,涉及到建立电子商务网站、开发符合Intemet特点的有效业务应用、管理网上的交易信息、保证网上数据的安全、快速反映市场变化以及充分满足Intemet业务进一步发展的要求等方面。
2.1.1应用背景 电子商务是一个迅速增长的新兴行业,电子商务利用简单、快捷、低成本的电子通信方式,买卖双方无须见面,而通过互联网进行各种商贸活动。
虽然广义的电子商务可以通过电话、传真等形式完成,但目前所说的电子商务,通常都是以EDI(电子数据交换)和互联网来完成的【引。
电子商务的迅速推广让商业活动更加便捷,大到大型跨国公司,d,N个人都可以利用电子商务来开展商业活动。
目前,已有一些非常成熟的电子商务平台,如美国的eBay、中国的阿里巴巴和淘宝网等在线交易平台,通过这些交易平台,每个商人都可以足不出户地将自己的商品出售,而顾客则可以在电脑前购买到自己心宜的商品。
随着电子商务相关规范的成熟,电子商务极有可能取代传统的商务活动。
在线图书超市其实就是一个电子商务平台,只要将系统部署在互联网上,全球的客户就可以在该平台上搜索并浏览到自己感兴趣的图书,也可以购买到自己想要的图书,当然也可以将平台升级,使其具备买卖其他商品的完整交易 4 武汉理工大学硕十学位
论文平台。
整个过程无需人工干预,由系统自动完成。
如果系统提供与电子银行的接口,将可以通过电子银行的操作,实现从摹家到商户的自动付款。
~旦付款成功,就可以利用全球物流供应系统将购买的图书发送到买家手中,所以,这种在线图书超市是种结构更为开放式的、成本更加低廉的应用系统。
2.1.2系统功能定义 本文所要实现的web系统是一个功能不太复杂的在线图书超市,系统从实际的电子商务平台上抽取,只取出其中部分核心模块功能实现,只为展示一种良好的程序架构f9】。
对于用户而言,可以搜索图书、浏览图书。
用户注册登录系统后,点击“购买”按钮便可购买自己选中的图书,还可以查看自己已购买的图书,也就是图书订单信息。
在购买图书过程中,跟随用户的有一个购物车,用户可以随时将选中的图书放入购物车。
对于非注册用户,如果想购买图书,必须注册一个有效帐号,通过帐号登录验证后,就可以拥有自己的购物车,实现购买图书。
对于用户管理、图书管理、订单管理、公告管理,所有的操作都由系统管理员完成。
基于上述考虑,整个系统功能框图如图2-l所示。
图2.1系统功能 5 武汉理!f大学硕+学位
论文2.2技术选择与系统架构 对于web系统而言,能够实现的框架非常多,例如像比较流行的Struts,JSF等框架【10】,往往在实际的项目中,选择何种框架往往令开发者十分头疼。
选择一个好的框架不仅可以节省企业开销,而且可以提高整个团队的开发效率。
2.2.1相关技术介绍 本系统采用WH(WebWork+Hibemate)架构构建,Web层采用WebWork框架技术,对数据的持久化操作使用Hibernate技术完成。
两个构架组合可以提高系统的开发效率,保证系统的稳定性、可靠性。
11)WebWork技术 WebWork项目是在2002年3月发布的,由OpenSymphony组织开发的,致力于组件化和
代码重用的J2EE Web框架fll】。
WebWork是建立在称为XWorkCommand模式框架之上的强大的基于Web的MVC框架。
在WebWork框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由核心控制器FilterDipatcher根据请求决定调用使用的Action,同时WebWork的拦截器链自动对请求应用通用功能,视图由一组JSP文件或其他的UI组件构成。
图2.2显示了WebWork框架实现MVCtl21。
:………………………………………一: :Servlet/JSP容器 ! :。
..............................................j 图2-2 WebWork实现MVC (1)视图 视图就是一组JSP文件或其他的UI组件。
在这些JSP文件或其他UI组件 6 武汉理丁大学硕十学位
论文没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或其他UI组件的标签,如WebWork UI标签。
(2)模型 模型表示应用程序的状态与业务逻辑。
当用户发出一个请求后,控制器会根据用户的请求,通知模型改变,将模型数据发送到相应的视图组件。
对于大型应用,业务逻辑通常由JavaBean或EJB组件来实现。
(3)控制器 控制器由两个部分组成:核心控制器FilterDipatcher和业务控制器Action。
当FilterDipatche控制器收到用户请求后,把请求转发到一个Action实例。
如果这个实例不存在,控制器会首选创建它,然后调用这个Action实例的execute0方法。
Action的execute()方法返回一个String型的字符串,它封装了把用户请求再转发给相应Web视图组件的信息。
本系统使用WebWork UI和普通JSP相结合的技术作为表现层技术,负责收集用户的请求数据并将其提交到指定的控制器。
当系统处理完用户请求后,JSP页面还负责将处理结果呈现给用户。
本系统中JSP页面基本没有任何Java
代码,保证JSP页面只作为系统表现层使用,避免将业务逻辑混杂在表现层中。
JSP的所有请求都将向WebWork的FilterDispatcher发送,通过这种方式,WebWork成为系统的Ii{『端控制器,所有请求都将由WcbWork处理。
FilterDispatcher拦截到用户请求后,将请求转发到用户定义的业务逻辑控制器。
将所有请求都使用FilterDispatcher拦截还有一个好处:将所有的JSP页面放入WEB.INF路径下,可以避免用户直接访问JSP页面,提供了系统安全性。
2)Hibernate技术 Hibernate是一个面向Java环境的对象/关系数据库映射工具【131。
对象/关系数据库映射(Object/Relational Mapping)表示~种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去【141。
Hibernate不仅管理Java类到数据库的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以减少开发时人工使用SQL和JDBC处理数据的时间。
相对其他ORM框架,Hibernate有如下优势【15】: (1)
开源和免费的License,方便需要时研究源
代码、改写源
代码、进行功 7 武汉理工大学硕士学位
论文 能扩展。
(2)轻量级封装,避免引入过多复杂的问题,调试容易,可减轻程序员负担。
(3)具有可扩展性,API丌放。
功能不够用时,可自己编码进行扩展。
(4)开发者活跃,产品有稳定的发展保障。
本系统简化了SessionFactory的管理,系统提供了一个SessionFactoryBuilder类,将该类定义成一个单态模式类,即该类最多只有一个实例,而SessionFactory实例则被缓存在SessionFactoryBuilder实例中,通过保证系统中只有一个SessionFactoryBuilder实例,从而保证系统中只有~个SessionFactory实例【16】。
一旦系统中已经完成了SessionFactoryBuilder和SessionFactory的实例化,后面的DAO组件将一直获得这两个实例。
系统的DAO组件基于Hibernate Session实现,系统通过Hibernate Session来管理持久化操作,并通过SessionFactoryBuilder的方法返回同一个SessionFactory实例后,返回当前线程的Session实例,从而完成持久化操作。
2.2.2系统架构设计 本系统采用J2EE的三层结构,分为表现层、中间层和数据服务层【171。
三层体系将业务规则、数据访问等工作放到中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。
系统的总体架构图如图2.3所示。
.
上一篇:
H264AVC实时视频编码器的研究与实现
下一篇:
关于大学英语教学