基于Hibernate和Struts的J2EE应用开发
日期:2007年8月8日 作者: 查看:[大字体 中字体 小字体]-
摘 要 本文分析了Hibernate和Struts的机制,提出了一种基于Hibernate和Struts的J2EE应用开发策略。在这种策略中,模型层用Hibernate实现,视图和控制器则用Struts框架实现。这样可大大降低代码的耦合性以及提高系统的开发效率。
关键字 Hibernate,Struts,MVC,持久层
引言
随着Java技术的逐渐成熟与完善,作为建立企业级应用的标准平台,J2EE平台得到了长足的发展。借助于J2EE规范中包含的多项技术:Enterprise JavaBean(EJB)、Java Servlets(Servlet)、Java Server Pages(JSP)、Java Message Service(JMS)等,开发出了许多应用系统。但是,在传统J2EE应用的开发过程中也出现了一些问题:1)数据模型和逻辑模型之间的矛盾。目前使用的数据库基本上都是关系型数据库,而Java本质上是一种面向对象的语言,对象在存储和读取时使用SQL和JDBC进行数据库操作,降低了编程的效率以及系统的可维护性;2)传统的J2EE应用多采用基于EJB的重量级框架,这种框架适合于开发大型企业应用,但是使用EJB容器进行开发和调试需要耗费大量时间。为了降低代码的耦合性,提高系统的开发效率,本文提出了一种基于Struts框架和Hibernate框架的J2EE应用开发策略。
数据持久层及Hibernate
Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(O/R Mapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。
用Struts实现MVC架构
MVC(Model-View-Controller)由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分。
模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图对应一个控制器。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。
Struts框架最早是作为Apache Jakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts框架很好的结合了Jsp,Java Servlet,Java Bean,Taglib等技术。在Struts中,承担MVC中控制器角色的是ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充Action Form(FromBean),并传给动作类(ActionBean)。动作类访问核心商业逻辑,即访问Java Bean或调用EJB。最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。模型以一个或多个Java Bean的形式存在。在Struts中,主要存在三种Bean,分别是:Action,ActionForm,EJB或者Java Bean。
- [1] [2] [3] 下一页
-
- 基于Hibernate和Struts的J2EE应用开发 相关文章:
- ·XML Schema定义元素的基本知识
- ·卡巴斯基12月10日——16日一周病毒报告
- ·Vista12个最实用操作技巧的基础课
- ·卡巴斯基报告称恶意软件近三成来自中国
- ·HTML基础:HTML的基本结构
- ·基本的页面设计元素布局比例
- ·卡巴斯基发布8.0版最新特性(附下载)
- ·网站的文章内容SEO优化基本原则
- ·卡巴斯基® 手机版正式线上发行
- ·Java基础:你是否了解KVM的常量池
- 基于Hibernate和Struts的J2EE应用开发 相关软件
- ·《时空之泪》基因主城音乐
- ·《反恐导弹基地》V1.8动作射击试玩
- ·《基因传奇》
- ·文物典藏系列-英国大维德基金会藏中国珍品瓷器
- ·FC《飞鼠洛基冒险记》模拟器
- ·手机游戏:维基范斯代号-普罗米修斯(汉化版)
- ·何绍基书咏落花七律十五章
- ·《罗科索夫斯基元帅战争回忆录》
- ·《3D Max 动画基础教程》
- ·超频基础知识
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:反黑入门 搞懂特洛伊木马工作原理
精品推荐
热点TOP10
- ·J2EE中用EntityBean和JDO的优缺点分析
- ·J2EE应用程序中SQL语句的自动构造方法
- ·详细讲解基于J2EE实现Web方式软交换配置
- ·新手入门:J2EE初学者要理解的几个问题
- ·J2ME可选包—PIM介绍
- ·第一个Spring MVC程序
- ·HTML表单Form中的get和post方法
- ·使用platformRequest()自动更新MIDlet套件
- ·JSP标准标签库(二)
- ·JBoss4.0.2集群指南
- ·J2ME网络程序中移动资费页面的处理
- ·J2ME中访问手机本地电话本
- ·解决在J2ME平台上的手机游戏移植的问题
- ·在J2ME编程中使用 Nokia 的中文模拟器
- ·使用J2ME程序测试MIDlet的生命周期实例
- ·J2EE基础:Weblogic服务器体系结构介绍
- ·J2ME基础应用篇:如何将J2ME与XML集成
- ·详细介绍构建高性能J2EE应用的十个技巧
- ·怎样优化J2ME程序之中的 paint() 函数
- ·新手入门:初学者搭建J2ME移动开发平台
