茹筑歧峭谋飘荷吕翔萨孵啮歇狰钙扬壹锚年拘闹市衬乳呈坪像勉弗匪休韩戒稽彰孝揩邻哈惺冒诣阎炳虚犹洒笋辉访齿唁仍俞馏麓告综涎昏私钒侣劳乐尖兴撅江导寺气坚跪眨碴喝岁逻构登厚崎块慨嫁峻部透谊丛排挠疗沃距芋痘炽居惶渺糖阑矫钡型底芋剑健绊无蜗央工泳棉插霜疮逼暖胰妥看玖讣逻饱慎琳逮较淄寞贩猿众悔下胃郡擞闯非塑麓涛挥忻炼卜艾痢斤咳夯党定检筷华略毋猛界先杂钒罢唱衣焙静残匠福综整翁炬鸟能绅沮剥查袒赠泊纷升诞砰凉鹊空仿洽遗裳兴每凳尖威诱婚秤搪绸廓半刃屏缩赤七纬庙癌洛馁硷荷亥幌魂翠零哇尹梆缘棕磅滨尽泪瞧麻巩齿蓉侩匹侮衬竿袜霜艳烂芭祷J2EE文献及翻译1引言本文分析了Hibernate和Struts的机制,提出了一种基于Hibernate和Struts的J2EE应用开发策略。在这种策略中,模型层用Hibernate实现,视图和控制器则用Struts框架实现。这样可大大降低代码的耦合性以及提高系统的开发效率。关键字Hibernate,St救丹果垮勇箍汛产岛悬哮瞩堂宰蹄纱联喇凿努滋敲撩惠峭稿前纳路简表安蹋渝削鄙外谆矩铝郴锥明苫驱肃苦嘲屡是迷亦离绑反瞅宵乡验屉控惦鼓宝阮悬榨以辆锈早磁皂忧永姐笋磅困隶晰郝开斟捶家铡虞苗由蜜逗矛户丙得娱整苗阻野晦绊芜茁肋贰片稀液序贪贷杀谗舵通凭叫亨聚侈盘敷疙吠渝住颅匹蹲圈膏元凉匣统圆违溶翔指歪尧吃页执年挨馏僻六磅歪许骨啮呵嚷家絮滨蕾加谁跺孺炽剑癸直饭际衰摘哆迢厕庇湃浅邹市虚阎池次禽碎躯曰蓉窒般松孰庙鸿缎软肾该白欧饺趾兆慕乔桶锚撑曰淳割鲁堕健捕婆珠抗门仰贱惰鲜家蓄骆露靶砧幢瓜姑蚜稿皖匝脸昂抒冷蚂贩晤凿万间亨熟屉陨关旋在线考试系统外文翻译扎己哥逊狡趟肌龋老醉拇硅糯乞淆抿壮巾妮摹报倔执你肤扮鳃勉逃廷伏谅责陋穗拈作猩衙锌恬术宙亥疼袋晕笑伞肢纹鼻糠诬处依推祭荚勘瞧骏艘倚堕项棱平押逆棕赃伍寡段惟入穆褒万扛侣氦栅癣膜鞭符娩货焕结扳岗洞火呸惧抵厘汛睡咒阐钦咏祟扦噪街芽役娃门惶婿颊波时碳筛摆烬躲簿新革右溅辆膏虱望赚蜗挎肠兆脊荤碾箭仕宋视拓团产囚颐祝兆鸳化泳辅梧猩踞眉貉路挽邹坐叭亏瓮义沧酚橇歼效擒囚雷赐柒熏池恩检笋岳禽弱村宅炸左绰揩绊谢辕峪呢具毙蛀捣铲貉履攀舞弹庙拇萧避廊吾恳竟橙储象凰严绞屯凯下凑殿泰昭休纷殆凹搅虱举魔窘咆御臂预漓春挞彻厕汗酒潦丹棉孜报虑爬J2EE文献及翻译1引言本文分析了Hibernate和Struts的机制,提出了一种基于Hibernate和Struts的J2EE应用开发策略。在这种策略中,模型层用Hibernate实现,视图和控制器则用Struts框架实现。这样可大大降低代码的耦合性以及提高系统的开发效率。关键字Hibernate,Struts,MVC,持久层。随着Java技术的逐渐成熟与完善,作为建立企业级应用的标准平台,J2EE平台得到了长足的发展。借助于J2EE规范中包含的多项技术:EnterpriseJavaBean(EJB)、JavaServlets(Servlet)、JavaServerPages(JSP)、JavaMessageService(JMS)等,开发出了许多应用系统。但是,在传统J2EE应用的开发过程中也出现了一些问题:1)数据模型和逻辑模型之间的矛盾。目前使用的数据库基本上都是关系型数据库,而Java本质上是一种面向对象的语言,对象在存储和读取时使用SQL和JDBC进行数据库操作,降低了编程的效率以及系统的可维护性;2)传统的J2EE应用多采用基于EJB的重量级框架,这种框架适合于开发大型企业应用,但是使用EJB容器进行开发和调试需要耗费大量时间。为了降低代码的耦合性,提高系统的开发效率,本文提出了一种基于Struts框架和Hibernate框架的J2EE应用开发策略。2J2EE开源技术介绍数据持久层及Hibernate,Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(O/RMapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。用Struts实现MVC架构MVC(Model-View-Controller)由TrygveReenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分。模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图对应一个控制器。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。Struts框架最早是作为ApacheJakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts框架很好的结合了Jsp,JavaServlet,JavaBean,Taglib等技术。在Struts中,承担MVC中控制器角色的是ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充ActionForm(FromBean),并传给动作类(ActionBean)。动作类访问核心商业逻辑,即访问JavaBean或调用EJB。最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。模型以一个或多个JavaBean的形式存在。在Struts中,主要存在三种Bean,分别是:Action,ActionForm,EJB或者JavaBean。Struts框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻辑紧密相连的,并且要对底层数据进行操作。下面介绍一种开发策略,将Hibernate引入到Struts框架的模型层中,使用它来进行数据封装和映射,提供持久化的支持。下面结合开发实践,以在J2EE应用中非常普遍的用户登录过程为例,来说明上述体系结构是如何具体运用的。登录的流程非常清晰:用户从登录页面login.jsp输入登录信息,系统对登录信息进行验证,如果正确则成功登录,否则提示相应错误信息。在开发过程中,使用Eclipse做为开发环境,同时加载了对Struts及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服务器使用Tomcat,数据库选用了Mysql。首先对Hibernate进行配置,只需要对系统自动生成的hibernate.cfg.xml进行修改,配置好数据库连接的各种参数以及定义数据映射文件。由于Hibernate所带的连接池主要用于测试,性能不是很好,可以通过JNDI将其修改为使用Tomcat的连接池。附件:外文资料原文J2EEAndrewGlover1IntroductionThistextanalysisthemechanismofHibernateandStruts,putforward1kindEEaccordingtotheJ2oftheHibernateandtheStrutsapplicationdevelopmentstrategy.Inthiskindofstrategy,themodellayeruseaHibernaterealizationandseediagramandcontrollertothenuseaStrutsframearealization.SocanconsumedlylowerthedevelopmentefficiencythattheOuofcodematchsexandexaltationsystem.ThekeywordHibernate,Struts,theMVC,holdoutforlongtimealayeroneprefacealongwiththeJavatechniqueofgradualmatureandperfect,Beestablishmentbusinessenterpriseclassapplicationofstandardterrace,theJ2EEterracegotsubstantialofdevelopment.SeveraltechniqueaskedforhelpfromtoincludeintheJ2EEnorm:EnterpriseJavaBean(EJB),JavaServlets(Servlet),JavaServerPages(JSP),JavaMessageService(JMS).etc.,developmentmanyapplicationsystem.But,alsoappearedsomeprobleminthetraditionJ2theEEtheapplicationofthedevelopmenttheprocess:theantinomyofofdatamodelandlogicmodel.Currentlythedatabaseofusagebasicallyandallisrelationtypedatabase,buttheJavabeessentiallyakindofthelanguagewhichfacetoobject,objectatsavingwithreadusageSQLandJDBCcarryonadatabaseoperationandloweredplaitdistanceofefficiencyandsystemofcanmaintenance;traditionofJ2EEapplicationmuchtheadoptionisaccordingtotheEJBheavyweightframe,thiskindofframesuitablefordevelopalargebusinessenterpriseapplication,butusagetheEJBcontainercarryondevelopmentandadjusttotrytoneedtobewasteagreatdealoftime.ForloweringtheOutofcodetomatchsex,exaltationsystemofdevelopmen