银行系统|银行业务|银行培训|金融业务系统培训|金融软件工程师

 找回密码
 注册会员

QQ登录

只需一步,快速开始

查看: 9340|回复: 9

[J2ee开发] 什么是Struts + Spring + Hibernate

[复制链接]
发表于 2009-6-8 23:55:08 | 显示全部楼层 |阅读模式
Struts、Hibernate和Spring的轻型J2EE架构的研究

摘 要 本文分析了Struts、Hibernate和Spring这3个开源架构各自的特性,并阐述了如何更好地将三者结合起来构建一个健壮、高效、易于扩展的轻型J2EE架构,并且通过用户管理模块实例给出这一框架实现。

关键词 Struts,Hibernate,Spring,用户管理

一、特性

1. Struts与MVC

Struts是Apache Jakarta项目的组成部分。该项目的目标是为建立Java Web 应用程序而提供的一个开源框架。通过使用Struts框架可以改进和提高Java Server Pages (JSP)、Servlet、标签库以及面向对象技术在Web应用程序中的应用。Struts是MVC的一种实现,它很好地结合了Jsp,Java Servlet,JavaBean,Taglib等技术。MVC即Model-View-Controller的缩写,它是Web应用中常用的设计模式。 MVC减弱了业务逻辑接口和数据接口之间的耦合,同时让视图层更富于变化。

控制器(Controller)的作用是从客户端接受请求,并选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中 Controller由ActionServlet类和Action类实现,ActionServlet主要负责接受HTTP请求,Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。

视图层主要是由JSP来实现页面显示。它接收到JavaBean和Action Form中的数据,利用html,taglib,bean,logic等标签显示数据。

在Struts中,主要存在三种bean,分别是:Action,ActionForm,EJB或者Java Bean。ActionForm用来封装客户请求信息,Action取得ActionForm中的数据,再由EJB或者JavaBean进行处理。

2. Hibernate

Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装, Java程序员可以使用面向对象的方式来操作数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端的程序中使用,也可以在Servlet/JSP的Web应用中使用。Hibernate的目标是成为Java中管理持续性数据问题的一种完整的解决方案。它协调应用与关系数据库的交互,让开发者解放出来专注于业务问题。

3. Spring

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。它提供了管理业务对象的一致方法并且鼓励对接口编程而不是对类编程的习惯。 Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器,数据访问架构集成了Hibernate和其他O/R mapping解决方案,同时提供了对Struts的支持。

二、分层架构

分层设计思想是软件设计中的一个重要的设计思想,对于Web应用程序的设计也是如此。通过分层可以提高系统的可扩展性,另外还有利于分工协作。本文给出一种基于Struts、Hibernate和Spring这三种框架的一种分层架构(如图1所示)。

三、用户管理模块的设计和实现

用户管理几乎是所有应用系统的一个共同的模块,本文就以此模块作为阐述架构实现的载体。用户分为Employee和Employer两种,它们有共同的属性,也有不同的属性。
发表于 2011-10-28 11:56:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|银行IT人 ( ICP备11000699号  

GMT+8, 2019-7-20 11:22 , Processed in 0.088691 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表