您所在的位置: 首页 > 开发 > 架构&设计 >

Struts和Hibernate共筑MVC架构

http://developer.51cto.com  2007-04-17 11:38  姚丽  软件世界  我要评论(0)
  • 摘要:Struts和Hibernate是当今J2EE中非常流行的技术,通过把两者结合在MVC模式中,我们在开发面向Web的应用时,将会更加应付自如。
  • 标签:Struts  Hibernate  MVC  J2EE  Java

Struts概述

Struts是Apache组织的一个开放源码项目,它是一个可重用的MVC设计。

Struts应用有3个主要部件:Servlet及负责具体业务处理的Action类(Controller),Jsp页面(View)和Struts应用的业务逻辑封装(Model)。

Struts组件结构如图1所示。ActionServlet处理客户请求,利用配置的ActionMapping对象,把请求映射到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知ActionServlet,ActionServlet进行下一步的处理。

图1:Struts的组件结构

在Struts中,ActionServlet担任了重要的角色,由它控制所有的程序流转,使MVC三个相对独立的部分协调工作,因此增强了开发人员对系统的整体把握,提高了系统的可维护性和可扩充性。

Hibernate——对象关系映射工具

数据库对象化的方向有两个:在主流关系数据库的基础上加上对象化特征,使之提供面向对象的服务,但访问语言基于SQL;另一种方向是用全新的面向对象概念设计数据库,即对象数据库ODBMS。

由于当前对象型数据库没有得到广泛的应用,在企业级应用中,关系型数据库仍处于主流地位。所以,在企业级系统中,应用对象关系映射(Object Relational Mapping,ORM)框架对关系型数据库进行对象化,实现持久层数据的对象化处理具有极为重要的意义。在J2EE架构体系中,可以用对象关系映射框架表示持久性数据,从而实现关系型数据库的对象化。

Hibernate是一种新的ORM映射工具,它同时提供了从Java类到数据表的映射和数据查询、恢复等机制,实现数据层对象的持久性。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate可以大大减少操作数据库的工作量。并且Hibernate可以和多种Web服务器以及应用服务器良好地集成。

Hibernate是开放源代码的对象关系映射框架,是JDBC的轻量级对象封装。Hibernate是按照LGPL许可证发布的开放式源代码应用程序,它是“用于Java的超高性能的对象/关系持久性和查询服务。”

应用Hibernate,可以使Java程序员方便的用对象编程的思想,将持久性对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低J2EE架构应用软件开发的难度和复杂度,提高Java应用软件的开发效率,进而使Java的企业级应用开发更加容易,更加灵活、强大。

Hibernate和Struts综合应用的系统架构

规范的J2EE架构中,应用数据的表示应该被限制在相应的层内,而不应该扩散到其它层,这样可以降低数据在应用层之间的耦合性,提高J2EE整体架构的可维护性和可扩展性。在结合MVC的系统架构设计模式和基于Hibernate的数据层持久化框架应用中,系统的应用架构如图2所示。

图2:系统的应用架构

ActionForm Bean是View模块的数据表示,其数据来源于View模块中JSP页面的数据提交。持久层的数据来源于数据库,其数据表示和数据库里的表相对应。且持久性数据可以由Hibernate动态生成,ActionForm Bean中的数据流动到Controller为止,Hibernate持久性对象生成的数据满足了业务逻辑层的应用。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606-8007】

ASP.NET MVC框架视频教程
Java实用开发全集
J2EE实用技巧大全
Java类的基础教程专题
Java发展动态专题
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有