基于Struts+hibernate框架的研究

来源 :硅谷 | 被引量 : 0次 | 上传用户:aywjx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]要开发现实世界的应用程序,特别是大规模的企业Web应用程序,开发人员必然会发现他们必须创建某种框架。J2EE提供针对Web的基本平台,在经典的J2EE四层体系结构的基础上增加数据持久层,提出基于J2EB五层体系结构的web开发框架;分析基于Struts框架的J2EE架构中实现对象持久性的局限性,从中分离出对象持久层,并将Hibernate这个面向对象的轻量级对象持久性技术集成到该架构。
  [关键词]struts hibernate web j2EE
  中图分类号:TP3文献标识码:A 文章编号:1571—7597(2009)0210063-01
  
  一、集成Struts框架与Hibernate框架实现MVC设计模式
  
  Struts作为基于模型视图控制器模式的应用架构,具有组件的模块化、灵活性和重用性的优点。但是Struts框架主要是针对表示层设计的,对于后端的业务逻辑层支持不是很强,在进行项目开发中存在以下局限:
  1.只能橫向分工,按模块来划分工作,软件开发成本相应较高:
  2.需要花很多时间在数据层的包装以及不同模块之间进行协调和沟通,导致开发时间的增加:
  3.项目移植性相对较差,可能需要为不同数据库编写不同的SQL语句;
  4.项目扩展性相对较差,适应新的需求或变更时要修改数据库表结构、重新编写SOL语句、备份数据库等,对人员要求也相应较高;
  5.由于开发人员数据库操作水平参差不齐,开发经验也不尽相同,导致系统性能可能会相对较差。
  Hibernate是一个开放源代码的O/R mapping(对象/关系映射)框架,它对JDBc进行了轻量级的对象封装,以面向对象机制来处理数据库操作。Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,大幅度减少开发时人工使用SQL和JDBC处理数据的时间。因此可以将Struts中的模型层分成两部分:一部分负责业务逻辑;另一部分使用Hibernate实现对象持久性处理。同时分离出具体业务逻辑,新建一个业务逻辑层,专门负责用Hibernate来实现业务逻辑和持久性对象的交互。图3显示了集成Struts和Hibernate的MVC模型。Struts和Hibernate框架的整合实现了控制流、业务调用、表示这三者的分离,使系统在开发效率、可维护性、可扩展性方面均有良好的改进。
  


  
  二、集成Struts和Hibe rnate实现J2EE分层架构
  
  根据前面的分析,将Struts与Hibernate框架进行集成,构成了一个新的Web应用的开发框架,实现了J2EE应用系统的多层架构。该框架一方面继承Struts框架在表示层的优点,提供完善的标记库,负责页面请求的接收和转发,实现了表示逻辑和业务逻辑的分离;另一方面在数据持久层等方面发挥Hibernate框架的特点,由Hibernate框架实现持久层和事务的封装,使业务逻辑与数据库访问分开。这样有利于开发人员将注意力集中在业务逻辑的实现上,有利于系统的可维护性等。
  集成Struts和Hibernate实现J2EE分层架构如图2所示。系统采用的五层结构设计由客户层、Web层、业务逻辑层、数据持久层、数据库层组成。客户层运行在用户计算机的Web浏览器中;Web层运行在Web服务器中,它使用Struts框架技术实现,提供了接收/响应客户端请求,控制整个系统工作流程,与业务逻辑层交互以及格式化业务数据并动态生成Web页面等功能;业务逻辑层负责实现整个系统的核心业务逻辑,由JavaBeans或EJB来实现;数据持久层使用Hibernate框架技术实现,完成对象和关系的映射,负责对数据库进行操作。
  下面根据图4对系统的各分层功能进行简单分析:
  1.客户层。它是用户用浏览器看到并直接与系统交互的层,主要是由HTML语言形成的网页界面。
  2.Web层。它从客户层获得客户的输入,传递给业务逻辑层的组件,再将从业务逻辑层获得的处理结果以HTML文件的形式输出到客户端,形成网页界面。Web层由Servlet和JSP程序组成,封装在Web容器中。业务流程控制一般均由控制器Servlet来开发,响应用户的查询等请求并调用业务逻辑层的JavaBean来实现复杂的商务逻辑。
  3.业务逻辑层。处理表示逻辑层传递过来的用户响应,并将结果返回给客户层。业务逻辑层封装了系统提供给用户的接口,是直接处理用户请求的中心。这一层主要由JavaBean来实现。JavaBean的主要任务是处理商务逻辑,与客户端交互,返回给它相应的操作结果等。
  4.数据持久层。它完成持久对象到关系数据库的映射,并对持久对象进行操作。业务逻辑模块由Hibernate通过O/R映射文件实现对具体数据源的操作(即穿过持久层映射到具体的某个数据表),完成对数据库的操作。对于小型的项目来说,这种实现确实是很高效且低成本的。
  5.数据库层。对象持久性的具体实现,可以是关系数据库管理系统、文件存储和对象数据库存储管理系统。
  
  三、结束语
  
  本文在传统的J2EE框架中引入面向对象机制的数据持久层,使业务逻辑处理层有效地分离和隐藏了数据读取和操纵中的所有数据访问代码细节,将客户应用程序和底层存储机制隔离开,完全抽象出开发应用程序时使用的数据物理细节,构建了更为有效的松耦合多层次web开发模型。
  
  作者简介:
  刘明,女,汉族,辽宁省朝阳市人,大连交通大学软件工程在读硕士,朝阳师范高等专科学校数计系助教,研究方向:javaweb开发。
其他文献
[摘要]介绍I2C总线技术及其技术标准。结合ATMEL公司具有I2C总线的AT24LCO4,给出AT89S51单片机虚拟I2C总线的硬件设计及软件实现。  [关键词]I2C 单片机 AT24LC04  中图分类号:TN91 文献标识码:A 文章编号:1671-7597(2009)0210034-02    一、引言    I2C总线是PHILIPS公司推出的一种双向二线制总线,它包括一条串行数据线
期刊
[摘要]介绍DiffServ模型的体系结构,并重点研究DiffServ实现的核心机制拥塞管理机制。在实际设计队列调度算法时,应根据网络中不同的QoS要求,平衡影响调度算法设计的各种因素,进行合理的选择。  [关键词]服务质量 区分服务 拥塞管理 队列调度  中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2009) 0210047-01    一、概述    QoS是指网络通信过
期刊
[摘要]由于PDA掌上电脑具有体积小、重量轻、携带轻便,适应于野外测量等特点,根据有关技术依据及规范,采用PDA硬件平台,在windowsCE软件支持下,利用Microsoft embedded Visual Basic编程环境,完成基于PDA的水准电子手簿系统的程序设计,并说明程序中各个模块所具有的功能,完全代替手工水准记簿。  [关键词]PDA 水准电子手簿 系统  中图分类号:TP3 文献标
期刊
[摘要]现在很多连接都被称作VPN(Virtual Private Ntwork),让很多人分不清楚。那么,一般所说的VPN到底是什么呢?顾名思义,虚拟专用网不是真的专用网络,但是它却能够实现专用网络的功能,并且具有保密,安全等主要特点。  [关键词]VPN 接入 隧道技术 安全技术  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0210051-01    一、VP
期刊
[摘要]随着现代网络规模不断扩大和结构日趋复杂,网络管理成为网络系统正常运行的关键,网管系统的基本功能是以图形方式直观地将被管对象显示出来,因而拓扑发现是不可缺少的一部分。拓扑发现确定网络元素之间的互连关系,是配置管理的中心,故障管理的基础。  [关键词]SNMP 拓扑发现  中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2009)0210048-01    一、网络的结构  
期刊
[摘要]通过对变频技术的介绍,结合国内的应用及相关变频谐振试验装置特点,阐述在实际操作中应注意并掌握的知识,充分发挥仪器的智能作用为XLPE电缆试验服务,提高工作效率。  [关键词]变频谐振 XLPE电缆 试验  中图分类号:TM4 文献标识码:A 文章编号:1671-7597(2009) 0210038-01    一、引言    上世纪80年代至90年代中期,加拿大、德国、美国等先进国家制定了
期刊
[摘要]主要针对BGP as-path属性和as—path filter的概念、配置和使用做介绍,重点讲解AS正则表达式的配置和匹配关系,并对使用as-path access-list进行BGP路由过滤的应用举例进行简单介绍。  [关键词]BGP as-path access-list 路由过滤  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0210027-02  
期刊
[摘要]为了解决企业设备管理中设备信息不完整,更新不及时,不能共享,资源不能集中管理、统一协调的问题,同时也为了解决架构不同的系统之间不兼容、不能交换数据的情况,设计基于SOA的电子设备信息管理系统。介绍电子设备管理信息系统的系统架构,UML建模,并给出具体的系统设计和实现。  [关键词]设备管理 SOA架构 UML 信息交换  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2
期刊
[摘要]介绍IPv4向IPv6过渡的三种重要机制,并针对三种机制提出相应的解决方案,实现IPv6“小岛”与IPv4“海洋”之间的通信以及IPv6“小岛”之间的通信。  [关键词]IPv4 IPv6 IP过渡技术  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0210059-01    一、引言    随着Internet的飞速发展以及IPv4地址空间的耗尽,功能强大
期刊
[摘要]以2000年1月-12月《人民日报》大约80万汉字语料为基础,利用基于隐马尔可夫模型并结合统计来评价在真实文本中构成中文姓名的能力,实现中文姓名的自动识别。实验测试表明;准确率达91.5%,召回率为89.5%。  [关键词]中文姓名识别隐马尔可夫模型中文信息处理  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0210064-01    一、引言    在汉语
期刊