基于Struts和Hibernate的相关结构集成的研究外文翻译资料
2022-11-29 15:44:41
Research of Structure Integration based on Struts and Hibernate
Juanjuan Yan,Bo Chen,Xiu-e Gao,Le Wang
Information Engineering College,Dalian University,Dalian Liaoning, China
Abstract
Struts framework based on MVC has brought the best code reuse and the legible code structure in entire system by far, but it has some problems such as complicated program, high coupling among layers and hard maintenance because its model part adopts JDBC to connect databases directly. The ORM characteristics of Hibernate make it simple and easy to implement the transplant and manipulation of databases. The development and maintenance of entire system become easier because of these characteristics. This paper proposed the integration of Struts and Hibernate and showed a simple system to explain the advantages of the integration .At the same time, we make a simple introduction of Spring component which based on SSH as well.
Index Terma:MVC,Spring,Struts,Hibernate
1. Introduction
Following the rapid development of network technique, the distributed enterprise Web application technique is becoming mature day by day. With the extensive application of Java technology, the Web application system of Java 2 Platform Enterprise Edition (J2EE)[1] is accepted by the great majority companies gradually for its stratification and the independence of platform. J2EE has been testified to be a trusting enterprise technique of software development and supported by many important firms of IT industry. But J2EE has some disadvantages, for instance, the high price, long periods and complex realization which bring from Enterprise Java Bean(EJB).
Now Struts has already become the most popular framework based on Java language because of bringing the excellent layer division to Web application. At present, a few large-scale firms embed Struts in J2EE of the assembly development implement. But in the model part of Struts the realization of the interaction between system and database is not ideal. Web and Internet is ever growing area and the demands for the applications are growing. A single framework is not capable to handle the architecture of the application. To meet the currents requirement of the applications itrsquo;s necessary to design a architecture to implement the frameworks.While Hibernate provides the mapping mechanism from Java class to datasheet, the data inquiring and recovering mechanism and so on, and it realizes the object permanence of data layer. Hibernate gets rid of the disadvantages of operating the relational database in system directly.
Therefore, adopting the multi-layer framework of integration based on Struts and Hibernate can bring the both merits to play sufficiently which solves some disadvantages of the traditional J2EE well.
- Struts Framework Based on MVC
In the traditional Web application, Java Server Pages(JSP) pages are responsible for handling all things, for example, receiving requests, executing business logics, choosing the next page. These complicated things may lead to chaos of JSP pagesrsquo; codes and be harmful for the extension and maintenance of pages. The Model-View-Controller (MVC) mode separates the programming codes into three different areas, which has solved the above problem. MVC can realize J2EE application systems stratification and the loose coupling of three layers or multilayer, and it is a realization way of orienting dynamic content. The MVC mode divides application into three core components of Model, View and Controller.
Struts is a realization of MVC. It is an open source Web application framework and uses Servlet and JSP marks that belong to the J2EE norm as a part of the realization. Struts inherits MVC characteristics and realizes some corresponding changes and extension according to J2EE traits. Struts separates Java codes of JSP by Java Bean and Action class to be the MVC mode, transmits data among the three partitions of Model, View and Controller, demonstrates the connection between various classes and JSP pages by configuration files finally and it intends to realize the separation of presentation layer, business layer and data layer. The Struts structure is shown in Figure 1.
Event |
Dispatch |
|||||||||||||||
Controller |
Business Logic |
|||||||||||||||
ActionServlet |
(Action) |
|||||||||||||||
Http Request |
||||||||||||||||
Client |
Forward |
|||||||||||||||
Struts-config.xml |
||||||||||||||||
(Browser) |
||||||||||||||||
Update |
剩余内容已隐藏,支付完成后下载完整资料
基于Struts和Hibernate的相关结构集成的研究 燕娟娟,陈博,高秀娥,王磊 信息工程大学,大连大学,中国大连辽宁 摘要 到目前为止,基于mvc架构的Struts的框架,在整个系统中,不仅带来了最方便的代码重用方法,而且也展示了最清晰的代码结构,方便用户的使用。然而,另一方面,由于它内部部分模型直接采用jdbc方式连接数据库,也带来了许多问题,例如:复杂的程序层次, 层次间的高耦合性,以及硬件维护等等问题。不过,Hibernate的ORM特性使得我们在进行数据库移植以及一系列数据库操作都变的更加简单易行,整个系统的开发以及维护工作,都会因为这些特性而变得容易。本文展示了Struts以及Hibernate的集成,并且采用了一个简单的用例系统,从而更好的表现出这种集成方式的优势所在。同时,我们也简单介绍了基于SSH(三大框架)的Spring组件。 关键词:MVC,Spring,Struts,Hibernate 1. 简介 随着网络科学技术的快速发展, 分布式企业web应用技术项目开发变的日益成熟。随着java技术开发的广泛应用,java 2平台企业版本(J2EE)由于分层次特性,以及平台版本的独立特性,已经被大多数公司所接受。J2EE已经被证明是一个值得信任的用来进行软件开发的企业技术,而且,另一方面,它也得到了许多重要的IT企业公司的大力支持。但是,它也是一把双刃剑,也有Enterprise Java Bean(EJB) 带来的很多弊端,例如:成本很高,软件开发时间久,以及复杂的开发过程难以完整实现。 如今,基于java语言的Struts框架,由于其在Java Web应用程序中,展示出了它完美的图层划分的优势,已经成为了最流行的框架之一。目前,一些大型巨头公司将Struts 开发技术嵌入到J2EE的组件开发技术之中。但是,在系统与数据库之间实现交互功能这一方面,Struts的模型部分所实现的功能并没达到期望值。网络与互联网是不断增长的领域,与此同时,应用的需求也在增长。一个单一的框架不能够处理一个应用程序的架构。为了满足当下应用程序的需求,有必要设计一个实现框架的架构。所以,hibernate就提供了从Java的实体类到数据表的映射机制,数据的查询以及数据恢复机制等,它保持了数据层对象的持久性。HIbernate摆脱了在系统中直接操作关系型数据库的弊端。 因此,采用基于Struts以及Hibernate框架的多层次框架集成,不仅能够充分的发挥其中的一些优点,而且也能够更好的解决了传统的J2EE中所存在的一系列弊端。 2. 基于MVC架构的Struts框架 在传统的WEB应用程序中,java服务网页(即JSP页面)通常负责处理所有功能事件, 例如:接收请求,执行业务逻辑以及选择下一页面(即跳转页面)等。这些复杂的事情可能会导致相关JSP页面代码的混乱,以及对于我们扩展和维护网页也将有害无益。MVC模型,将会把项目的代码划分成三个不同的部分,这种将项目代码划分的方式将会解决上述问题。MVC模型能够实现J2EE应用程序系统的多层次分层,以及三层或多层次的松散耦合(即耦合),这种方式是一种定向动态内容的实现方式。这种模型能够把应用程序划分成模型, 视图以及控制器这三个部分。 Struts框架是MVC架构的一种体现。它是一个开源的网页应用程序框架,并且使用属于J2EE规范的Servlet和JSP标记作为它实现的一部分。Struts框架继承了MVC架构的特性,并且根据J2EE的特性实现了一些相应的改变以及拓展。Struts将Java Serve Page(JSP页面)中的Java代码分离为Java Bean 和Action类,将其作为MVC的模型,在模型,视图以及控制器这三部分中传输数据,最后,它通过一系列配置文件来展示各个类和JSP页面之间的连接,并且它还可以实现表示层次,业务层次以及数据层次之间的分离。Struts框架的结构如图一所示。
图一:Struts结构图 Struts框架已经为web应用程序的前端控制设计和开发了一系列程序,它为与用户交互的应用程序提供了各种各样的功能,与此同时,Struts框架也遵循MVC 2的原则使用。 模型包含与持久层交换数据的业务逻辑。视图负责产生直接向用户所展示的内容,例如网页页面。控制器是属于从客户端接收请求的层,决定了业务逻辑的如何产生以及业务逻辑的下一步动作。在Struts的框架之中,模型将使用Java类作为业务逻辑。视图可以通过使用JSP以及Struts的标签来实现。控制器是被认为是服务器的一种J2EE组件,更具体地说可以是一个行为服务对象,它决定了逻辑如何被执行或何时被执行,以及控件应该在何处被管理。 3. Spring组件 在Spring之中,我们也同样遵循MVC架构的原则,它已经被用来设计更多的桌面以及互联网应用系统。Spring 由三种核心互相协作的组件组成。
那些在Spring 的MVC架构中的核心组件如下所示: 1.DispatcherServlet:用来实现Spring的前端控制器功能。它是来请求交互的第一个控制器。我们也可以说是Servlet(服务)的一个实现。它控制应用程序的完整流程。 2.Controller:用户创建的用于处理请求的组件,将导航逻辑委托封装到业务逻辑的服务对象。 3.View:负责表达相关输出。不同的视图,用来展现基于结果,观察设备,通信设备不同类型的输出数据。 4.ModelAndView:ModelAndView是Spring框架的核心部分。它实现了应用程序的业务逻辑。它由控制器所控制。它存储业务逻辑和与之相关联的视图。每当它被执行时,它将会展现有对应视图名称的数据。 5.ViewResolver:如何显示输出取决于从ModelAndView接收到的结果。它用于把逻辑视图名称映射到实际视图实现。本部分规定并且实现了什么是输出介质以及如何显示。 6.HandlerMapping:DispatcherServlet用于将传入请求映射到各个控制器的策略接口。它识别请求并且调用相应的处理程序来提供服务。 Spring框架是设计用来处理各种不同的任务,与Struts一样,Spring同样为桌面以及因特网应用程序工作,它也遵循MVC 2的相关准则。 倘若我们在单个应用程序中同时使用Struts和Spring框架,并应用MVC 架构作为设计主体,这样我们就可以提高应用程序的性能。 4. 基于ORM(对象关系映射)的Hibernate框架 使用面向对象的软件以及关系数据库,是Java数据库连接(JDBC)的一个十分困难的任务,这是因为数据在对象与关系数据库之间的表示方式不匹配。 因此,使用JDBC,开发人员必须编写纯结构化查询语言(SQL)语句,将对象模型的数据表示映射到关系数据模型及其对应的数据库模式。 4.1. Hibernate的介绍 Hibernate是一个灵活并且强大的对象关系映射(ORM)解决方案,用于将Java的类映射到数据库的表。它是一个强大的,高性能的对象关系持久性与查询服务。 Hibernate允许开发人员在自己的编写的SQL语句进行扩展(Hibernate Query Language(HQL)),或者本地SQL中,或在面向对象的标准和示例的应用程序编程接口(API)中表达查询。 Hibernate本身使用XML文件来处理此对象关系映射,因此开发人员不需要为此编写代码。 Hibernate是一个开源的框架,并且它可以免费用来进行软件开发以及生产部署,这是Java应用程序与关系型数据库之间连接的桥梁,并且负责Java对象和关系性数据之间的映射工作。 Hibernate内部包装了通过JDBC访问数据库的操作,它为面向对象的数据库访问上层应用程序提供了API。 所以开发人员可以使用对象编程思想来充分运行数据库,不必要地关心底层数据库结构。 与使用SQL和JDBC API的手动编码相比,使用Hibernate,可以95%从常见数据持久性相关编程任务中减轻开发人员的负担。它可以集成各种Web服务器或应用服务器,并且几乎支持所有流行的数据库服务器。 4.2 .Hibernate的准则
图2. Hibernate系统结构 如图2所示,Hibernate位于应用程序和数据库之间的中间层。在提供的数据持久性服务中,Hibernate通过属性与类(mapping.xml)本身的映射文件将类映射到数据表的相关行。应用程序通过持久性对象(PO)与数据库进行交互,从而可以直接处理数据。 5. Struts和Hibernate的集成 在开源框架中,对于展示的部分,Tapestry(一种MVC框架)具有强大并且自然的页面组合功能,但是由于其文档太概念化,以至于无法使编程受益。并且其学习曲线太陡峭等等。在逻辑部分这一方面,Spring具有很好的集成功能,但缺少公共控制器。然而EJB(服务器端组件模型)依赖于EJB容器,同时它又进行了复杂的实现。但是Struts由于其优点依然得到了广泛应用。 目前,大多数系统主要应用于关系型数据库,而Java从本质上来讲是一种面向对象的语言。在使用Struts框架应用程序的模型部分,使用SQL和JDBC来存储和提取对象时,进行操作数据库的工作,就会降低编程效率和系统的可维护性。传统的J2EE的应用程序基于EJB(服务器端组件模型)的大型框架,适应大型企业进行开发,而EJB容器的开发和调试需要耗费大量时间,并且还具有高价格。EJB 3改善了原始EJB的所存在的一些弊端,但其应用仍然尚未成熟。 Hibernate可以替代容器管理永续性(CMP),用来在应用EJB的J2EE框架的时候,能够达到重要的高性能显现。 总而言之,在一个技术发展阶段中,Hibernate可以解决来自使用传统CMP时候所带来的一系列问题,当然也包括使用JDBC和数据访问对象(DAO)的时候所遇到的困难。 为了减少代码高耦合性和提高系统开发效率,本文提出了基于Struts和Hibernate的J2EE应用开发策略。 Struts的设计充分的展示了MVC框架,它使得所有的控制流程都通过一个配置文件(Struts-config.xml)进行管理,而且还使得我们维护方便。Struts和Hibernate的集成的主要显示是,Hibernate解决了Struts框架中的模型层,这使得开发人员操作Java对象而不是数据库。集成充分的显示了面向对象的思想,并且也解决了传统J2EE中数据库操作的一些问题。 5.1. 框架流程 基于Struts和Hibernate的集成框架流程如图3所示。首先,用户通过浏览器发送Http请求,然后所发送的Http请求被业务层控件组件ActionServlet(行为服务)接受,然后发给RequestProcessor(服务请求处理器),从而获取对应的Action (行为),然后按请求的URL(统一资源定位地址)进行行为检索。 此外,ActionForm(行为页面)打包JSP页面,如果需要,可以对数据表的数据进行检查,如果有错误,则将ActionErrors(行为错误事项)发送回可视页面,那么如果通过了验证,则将页面的数据传送到所对应的Action(行为)。
图3.基于Struts和Hibernate的集成框架的流程图 RequestProcessor(服务请求处理器)传递Action(行为)的“执行”方法,该方法传输业务逻辑的模块。Hibernate完成数据库与JavaBean之间的交互。处理业务逻辑的操作通过数据的持久层和部分对象层与数据库完成交互的动作。Action(行为)的“执行”方法将在执行后返ActionServlet(行为服务)接受的ActionForward(行为转向)对象。 因此,ActionServlet(行为服务)被传送到ActionForward(行为转向)的指定资源,这意味着会向用户显示他们自己所选择的正确视图。 5.2. 整合框架的系统架构 对于多层次的J2EE系统结构,它的EIS层可以划分为数据持久层以及数据资源层。这意味着整体的一个系统可以分为五个层次: 客户机层次:该层在用户机器的浏览器中运行,并处理与用户的交互动作,向用户发送和显示消息的动作。 J2EE平台支持不同类型的用户,其中包括HTML用户,Java Applet,Java应用程序等等。lt; 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[25738],资料为PDF文档或Word文档,PDF文档可免费转换为Word |