- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于StrutsHibernateSpring的系统设计和开发-健雄职业技术学院
基于Struts+Hibernate+Spring的系统设计和开发
俞国红
(健雄职业技术学院 计算机工程系,江苏 太仓 215411)
摘 要:阐述了以J2EE(JSP、JavaBean、Servlet)、SSH(Struts、Spring、Hibernate)开源框架为核心技术,逐步构建软件架构原型,构建系统原型作为系统开发的基础提出了基于Struts、Spring和Hibernate框架的轻型J2EE软件架构技术的系统设计和开发方法。
关键词:J2EE;Struts;Spring;Hibernate;架构
中图分类号:TP311.52文献标识码:A
J2EE(Java 2 Enterprise Edition即Java 2 平台企业版)是由Sun公司主持推出的一项中间件技术。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。但由于EJB的复杂性,导致程序的开发效率低。在Spring和Hibernate等轻量级框架出现后,大量的开发人员转向到以目前最流行的开源框架,能快速开发出结构清晰、可重用性好、维护方便的轻量级的J2EE企业系统应用。
构架Web企业系统应用时需要考虑用户交互、处理业务逻辑、应用数据持久化、扩展性等很多问题,所以一个应用的架构方案和实现技术选择十分重要。而分层的目的就是对应用的逻辑功能进行划分,使每层在完成自己功能的同时,不影响其它层,实现高内聚,低耦合具有易于控制、扩展、维护的优点,图1是一个典型的轻量级J2EE应用架构,Web应用分层结构基本上都分为三层:表现层、业务逻辑层、数据持久层。
图1 典型的Web应用分层结构
Fig.1 ypical Web application hierarchical structure
务逻辑和存储业务数据,校验从表示层传过来的数据,通过表示层提交的命令来执行相应的业务逻辑。数据持久层是用来存取业务状态数据的。数据持久层通过与其他系统进行通信来完成应用的调用。其职责包括事务监控、消息系统、数据源等。在大多数的系统应用中,数据持久层最基本的功能就是存储持久化数据到数据库中。
三层体系结构图中箭头所示的方向,表示各个层之间的数据调用和依赖关系。这个依赖暗示了分层系统的特性规则:一层中的组件只能与同一级别中的对等实体或较低级别中的组件交互。可以看到,业务逻辑层不会访问表示层中的内容,同样,数据层也不会访问业务逻辑中的内容。这个规则使得在同一个基础架构上实现不同的表示层成为可能,同时使得表示层的修改并不会影响到更深层次的实现。
3 Struts框架分析
Struts最早是由Xerox(施乐)在20世纪80年代为Smaltalk-80语言发展提出的。随后,它成为了一种著名的用户界面设计架构,其实现原理如图2。
图2MVC模式的Struts实现
Fig.2 Struts Implementation of MVC Model图3 Spring的系统架构图
Fig.3 Spring System Architecture Drawing
图4 Hibernate在应用中的结构图
Fig.4 Hibernate Structor in Solutioncontext-param
param-namecontextConfigLocation/param-name
param-value/WEB-INF/classes/applicationContext.xml/param-value
/context-param
servlet
servlet-nameSpringContextServlet/servlet-name
servlet-class
org.springframework.web.context.ContextLoaderServlet
/servlet-class
load-on-startup1/load-on-startup
/servlet
控制器层采用了Struts的ActionForm,ActionServlet和Xml配置文件结合的技术。同时采用了Spring的IOC方式来实现了视图层和控制器层的整合,Struts中的Action交由Spring容器来管理。
业务逻辑层采用了Struts和Spring整合的方式来实现业务逻辑,业务逻辑和数据库层的交互是采用基于Spring+Hibernate的方式。Hibernate将数据持久层中的数据操作bean交由Spring容器来管理,在整个应用中,Spring的IoC 是核心,它负责业务逻辑组件和DAO组件的管理,同时还负责Hibernate持久化访问所必需的SesssionFatory组件,以
文档评论(0)