科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Struts和Hibernate共筑MVC架构

Struts和Hibernate共筑MVC架构

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Struts和Hibernate是当今J2EE中非常流行的技术,通过把两者结合在MVC模式中,我们在开发面向Web的应用时,将会更加应付自如。

作者:姚丽 来源:软件世界 2007年9月4日

关键字: Struts Hibernate MVC 架构

  • 评论
  • 分享微博
  • 分享邮件

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持久性对象生成的数据满足了业务逻辑层的应用。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章