版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一種基于Hibernate、Struts和Spring的J2EE應(yīng)用開(kāi)發(fā)框架隨著Java技術(shù)的逐漸成熟與完善,作為建立企業(yè)級(jí)應(yīng)用的標(biāo)準(zhǔn)平臺(tái),J2EE平臺(tái)得到了長(zhǎng)足的發(fā)展。借助于J2EE規(guī)范中包含的多項(xiàng)技術(shù):EnterpriseJavaBean(EJB)、JavaServlets(Servlet)、JavaServerPages(JSP)、JavaMessageService(JMS)等,開(kāi)發(fā)出了許多應(yīng)用系統(tǒng)。但是,在傳統(tǒng)J2EE應(yīng)用的開(kāi)發(fā)過(guò)程中也出現(xiàn)了一些問(wèn)題:(1)數(shù)據(jù)模型和邏輯模型之間的矛盾。目前使用的數(shù)據(jù)庫(kù)基本上都是關(guān)系型數(shù)據(jù)庫(kù),而Java本質(zhì)上是一種面向?qū)ο蟮恼Z(yǔ)言,對(duì)象在存儲(chǔ)和讀取時(shí)使
2、用SQ和JDB(進(jìn)行數(shù)據(jù)庫(kù)操作,降低了編程的效率以及系統(tǒng)的可維護(hù)性;(2)傳統(tǒng)的J2EE應(yīng)用多采用基于EJB的重量級(jí)框架,這種框架適合于開(kāi)發(fā)大型企業(yè)應(yīng)用,但是使用EJB容器進(jìn)行開(kāi)發(fā)和調(diào)試需要耗費(fèi)大量時(shí)間。為了降低代碼的耦合性,提高系統(tǒng)的開(kāi)發(fā)效率,本文提出了一種基于Struts框架、Hibernate框架和Spring框架的J2EE應(yīng)用開(kāi)發(fā)策略。Hibernate框架Hibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(O/RMapping)的工具,它對(duì)JDB(進(jìn)行了輕量級(jí)的對(duì)象圭寸裝,使程序員可以使用對(duì)象編程思想來(lái)操作數(shù)據(jù)庫(kù)。它不僅提供了從Java類(lèi)到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)
3、查詢(xún)和恢復(fù)機(jī)制。相對(duì)于使用JDBCSS座操作數(shù)據(jù)庫(kù),使用Hibernate能大大的提高實(shí)現(xiàn)的效率。Hibernate框架用配置文件的形式來(lái)定義Java對(duì)象和數(shù)據(jù)表之間的映射關(guān)系,同時(shí)在更深的層面將數(shù)據(jù)表之間的關(guān)系解釋為Java對(duì)象之間的繼承及包含等關(guān)系。通過(guò)使用HQ語(yǔ)句將復(fù)雜的關(guān)系算法用對(duì)象的方式描述,在很大程度上簡(jiǎn)化了對(duì)數(shù)據(jù)的查詢(xún),加快了開(kāi)發(fā)的效率。在Hibernate中有一個(gè)簡(jiǎn)單而直觀的API,用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢(xún)。要?jiǎng)?chuàng)建或修改這些對(duì)象,只需在程序中與它們進(jìn)行交互,然后告訴Hibernate保存即可。這樣,大量圭裝持久化操作的業(yè)務(wù)邏輯不再需要編寫(xiě)煩瑣的JDB(語(yǔ)句,從而使數(shù)據(jù)持
4、久層得到了極大的簡(jiǎn)化。用Struts實(shí)現(xiàn)MV架構(gòu)MVC(Model-View-Controller)由TrygveReenskaug提出,首先被應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MV把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模型(Model)是軟件所處理問(wèn)題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖。控制器
5、(Controller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴(lài)于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。Struts框架Struts框架最早是作為ApacheJakarta項(xiàng)目的組成部分問(wèn)
6、世運(yùn)做,它繼承了MV(的各項(xiàng)特t并根據(jù)J2EE勺特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts框架很好的結(jié)合了Jsp,JavaServlet,JavaBean,Taglib等技術(shù)。在Struts中,承擔(dān)MVC中控制器角色的是ActionServlet。ActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP#:的入口點(diǎn),它截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(lèi)(這些動(dòng)作類(lèi)都是Action類(lèi)的子類(lèi))。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充ActionForm(FromBear),并傳給動(dòng)作類(lèi)(ActionBean)。動(dòng)作類(lèi)訪問(wèn)核心商業(yè)邏輯,即訪問(wèn)JavaBear
7、或調(diào)用EJB最后動(dòng)作類(lèi)把控制權(quán)傳給后續(xù)的JSP文件,由JSP文件生成視圖。所有這些控制邏輯利用Struts-corfig.xml文件來(lái)配置。在Struts框架中,視圖主要由JSF生成頁(yè)面完成,Struts提供豐富的JSP標(biāo)簽庫(kù),這有利于分開(kāi)表現(xiàn)邏輯和程序邏輯。模型以一個(gè)或多個(gè)JavaBear的形式存在。在Struts中,主要存在三種Bear,分別是:Actior,ActiorForm,EJB或者JavaBearoStruts框架沒(méi)有具體定義模型層的實(shí)現(xiàn),在實(shí)際開(kāi)發(fā)中,模型層通常是和業(yè)務(wù)邏輯緊密相連的,并且要對(duì)底層數(shù)據(jù)進(jìn)行操作。Hibernate引入到Struts框架的模型層中,使用它來(lái)進(jìn)行數(shù)據(jù)
8、封裝和映射,提供持久化的支持。Spring框架Spring明顯區(qū)別于其他輕量級(jí)applicationframework,它將專(zhuān)注于web的支持,與struts和webwork有著明顯的區(qū)別。在與struts、webwork的對(duì)比上,Spring是一個(gè)服務(wù)于所有層面的即plicationframework:提供了bean的配置基礎(chǔ),AOPtJ支持,JDBC勺提取框架,抽象事務(wù)支持等等。它有一個(gè)非常顯著的特點(diǎn):在某個(gè)層面上如果你不需要Spring的支持,你就可以不使用Spring的class,只使用它的某一部分的功能。從它的設(shè)計(jì)理念,你可以看到Spring幫助你實(shí)現(xiàn)了真正的邏輯層和web層的分離。
9、例如:一個(gè)校驗(yàn)應(yīng)用將不用依靠controllers就可以實(shí)現(xiàn)。這樣的目標(biāo)更好的重用和易測(cè),過(guò)分依靠不必要的容器和框架將不能實(shí)現(xiàn)這一點(diǎn)。當(dāng)然,Spring有自己的web支持和通常框架模式細(xì)致完整。然而,Spring替換struts、webwork或者其他的web方案非常容易。對(duì)于Spring的web支持或者不同的地方,Spring允許你在web容器里面建立一個(gè)中間層,在測(cè)試環(huán)境或者標(biāo)準(zhǔn)獨(dú)立的應(yīng)用里面來(lái)設(shè)置重用你的商務(wù)邏輯?還有在J2EE環(huán)境里面,你的商務(wù)邏輯不必依靠容器提供的服務(wù),像JTA,EJB的支持。良好的構(gòu)架的web應(yīng)用可以運(yùn)行在任何容器上,如,Tomcat或者Resin。值得注意的是,S
10、pring不是和已經(jīng)存在的解決方案進(jìn)行競(jìng)爭(zhēng).我們鼓勵(lì)結(jié)合標(biāo)準(zhǔn)的技術(shù),如,Servlet,JSP,JTA,JNDI,JDBCandJDO和非常匹配的工具,如,Hibernate,Velocity,Log4J,andCauchosHessian/Burlap。這個(gè)框架的的設(shè)計(jì)思想是在你的應(yīng)用需要改良的時(shí)候,你將會(huì)做一些技術(shù)的選擇,例如,如果你需要分布式事務(wù)處理,你可能需要用Spring的JtaTransactionManager來(lái)實(shí)現(xiàn)JTA服務(wù)。或者用DataSourceTransactionManagerorHibernateTransactionManager來(lái)實(shí)現(xiàn)的單個(gè)數(shù)據(jù)庫(kù)交換。Sprin
11、g框架通過(guò)配置操作mappings,展示resolution,本地化和模版集成圍繞著分派請(qǐng)求操作的servlet-DispatcherServlet設(shè)計(jì)的。缺省的操作是一個(gè)非常簡(jiǎn)單的控制接口,他只提供了ModelAndViewhandleRequest(request,response)方法。這將用于一個(gè)應(yīng)用的控制,但是,如果你想包含多個(gè)層次的控制,AbstractController,AbstractCommandController,MultiActionController,SimpleFormController,AbstractWizardFormController將幫助你完成.應(yīng)
12、用控制將代表那些子系統(tǒng)。注意,你可以選擇一個(gè)適當(dāng)?shù)幕?lèi):如果你沒(méi)有webform,你就不必用FormController,這就是和Struts最大的不同。你可以通過(guò)命令或者form對(duì)象來(lái)操作任何對(duì)象,這不需要接口工具或者一個(gè)基礎(chǔ)類(lèi)的驅(qū)動(dòng)。Spring的數(shù)據(jù)綁定非常靈活。舉例來(lái)說(shuō),它描述了具有在應(yīng)用范圍內(nèi)的校驗(yàn)錯(cuò)誤的輸入機(jī)制,但不是系統(tǒng)錯(cuò)誤,所以在你的form對(duì)象里面你不必復(fù)制你的業(yè)務(wù)對(duì)象的spring屬性,只操作出錯(cuò)的子任務(wù),或者適當(dāng)?shù)剞D(zhuǎn)換spring。換句話說(shuō),它通??梢院芎玫闹苯咏壎愕臉I(yè)務(wù)對(duì)象。這也是和struts圍繞請(qǐng)求基礎(chǔ)類(lèi)Action和ActionForm(每個(gè)action操作類(lèi)型
13、)建立主要的不同之一。對(duì)比WebWork,Sping更多的區(qū)別在于對(duì)象角色:Spring支持控制器的感念,一個(gè)操作命令或者form對(duì)象和得到數(shù)據(jù)傳遞給視圖的模式,這個(gè)模式通常包含命令和form對(duì)象,但有時(shí)也包含任意的參考數(shù)據(jù)。換句話說(shuō),一個(gè)WebWorkAction聯(lián)合所有這些角色到一個(gè)單獨(dú)的對(duì)象。WebWorl允許你用已經(jīng)存在的業(yè)務(wù)對(duì)象作為你form的一部分)但是只生成各自Action的bean屬性。最后,操作請(qǐng)求的Action實(shí)例在一個(gè)視圖里面獲得付值和formpopulation。然而,參考數(shù)據(jù)也需要作為Action的屬性被模擬。關(guān)于視圖:Spring的視圖方案非常的靈活。一個(gè)控制器執(zhí)行
14、可以通過(guò)response返回ModelAndView對(duì)象null就可以直接寫(xiě)到一個(gè)視圖里,在一般情況下)一個(gè)ModelAndView實(shí)例結(jié)合了一個(gè)view和一個(gè)modelMap,包含了beanname和通訊對(duì)象(像命令或者form,參考數(shù)據(jù)等等)。View名稱(chēng)是非常高端的配置,不是通過(guò)beanname,個(gè)properties文件就是通過(guò)你自己的ViewResolver.這個(gè)抽象的modelMap允許你在視圖層面完成提取,沒(méi)有任何的爭(zhēng)辯JSP/Velocity或者其他,每一種都可以直接完整使用.這個(gè)modelMap還可以簡(jiǎn)單得得到適當(dāng)?shù)母袷交瘮?shù)據(jù)的轉(zhuǎn)換,像JSP請(qǐng)求屬性或者Velocity模版模
15、式.如果你不想用Spring的webMVC且是想借用Spring嫁接其他的解決方案,你可以非常簡(jiǎn)單地通過(guò)Spring繼承你自己的web框架,你可以非常簡(jiǎn)單地通過(guò)ContextLoaderListener啟動(dòng)一個(gè)Springrootapplicationcontext,并且,通過(guò)Struts或者WebWork的action利用ServletContext屬性(或者Spring的helper方法)存取它。值得注意的是,這里沒(méi)有任何的plugins被調(diào)用,因此沒(méi)有專(zhuān)門(mén)的集成:來(lái)自web層的視圖,你可以簡(jiǎn)單的將Spring作為一個(gè)管理即plicationcontext實(shí)例入口點(diǎn)的類(lèi)庫(kù)。所有你注冊(cè)bea
16、n和Spring服務(wù)都可以在不需要Spring的webMVCl情況下都可以輕松掌握。Spring不是和Struts、WebWo這些應(yīng)用進(jìn)行競(jìng)爭(zhēng),它將作為一個(gè)純web框架應(yīng)用于很多領(lǐng)域,因?yàn)樗恍枰渲脭?shù)據(jù)存儲(chǔ)和事務(wù)操作,所以,你可以利用Spring提供的中間層和數(shù)據(jù)存儲(chǔ)層來(lái)豐富你的應(yīng)用,甚至用JDBC者Hibernate進(jìn)行事務(wù)抽象。如果僅僅聚焦于web支持,Spring的一些顯著特點(diǎn)是清楚分離:controller,validator,commandobject,formobject,modelobject,和DispatcherServlet,handlermappingvsviewres
17、olver等等強(qiáng)大而且直接的框架和作為JavaBeans的應(yīng)用配置,包括簡(jiǎn)單的參照和應(yīng)用內(nèi)容,例如,從web控制器到業(yè)務(wù)對(duì)象和數(shù)據(jù)校驗(yàn)。適應(yīng)性,無(wú)論什么樣的控制器你都需要得到代替Action/ActionForm所做的每件事情的方案(簡(jiǎn)單,命令,form,范例,多重action,或者定制一個(gè))重用業(yè)務(wù)邏輯代碼,不需要復(fù)制,你可以用已經(jīng)有的業(yè)務(wù)邏輯對(duì)象作為命令或則form對(duì)象代替反射特定的ActionForm子類(lèi)??捎喼频慕壎ê蛿?shù)據(jù)校驗(yàn)作為應(yīng)用級(jí)的輸入機(jī)制的錯(cuò)誤校驗(yàn),固定日期和數(shù)字綁定,例如,通過(guò)手動(dòng)檢查和轉(zhuǎn)換業(yè)務(wù)對(duì)象來(lái)替換單個(gè)的string。可訂制的操作,可訂制的視圖方案:通過(guò)name/val
18、ueMap靈活的模型傳送,用一個(gè)簡(jiǎn)單的方法從簡(jiǎn)單到復(fù)雜操作映射和視圖方案策略。以在J2EE應(yīng)用中非常普遍的用戶登錄過(guò)程為例來(lái)說(shuō)明上述體系結(jié)構(gòu)是如何具體運(yùn)用的。登錄的流程非常清晰:用戶從登錄頁(yè)面login.jsp輸入登錄信息,系統(tǒng)對(duì)登錄信息進(jìn)行驗(yàn)證,如果正確則成功登錄,否則提示相應(yīng)錯(cuò)誤信息。在開(kāi)發(fā)過(guò)程中,使用Eclipse做為開(kāi)發(fā)環(huán)境,同時(shí)加載了對(duì)Struts、Spring及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web艮務(wù)器使用Tomcat,數(shù)據(jù)庫(kù)選用了Mysql。首先對(duì)Hibernate進(jìn)行配置,只需要對(duì)系統(tǒng)自動(dòng)生成的hibernate.cfg.xml進(jìn)行修改,
19、配置好數(shù)據(jù)庫(kù)連接的各種參數(shù)以及定義數(shù)據(jù)映射文件。由于Hibernate所帶的連接池主要用于測(cè)試,性能不是很好,可以通過(guò)JNDI將其修改為使用Tomcat的連接池。ADevelopmentFrameApplicationBasedontheHibernate、theStrutsandtheSpringJ2EEOneprefacealongwiththeJavatechniqueofgradualmatureandperfect.Beestablishmentbusinessenterpriseclassapplicationofstandardterrace,theJ2EEterracegots
20、ubstantialofdevelopment.SeveraltechniqueaskedforhelpfromtoincludeintheJ2EEnorm:EnterpriseJavaBean(EJB),JavaServlets(Servlet),JavaServerPages(JSP),JavaMessageService(JMS)etc.,developmentmanyapplicationsystem.But,alsoappearedsomeprobleminthetraditionJ2theEEtheapplicationofthedevelopmenttheprocess:1)th
21、eantinomyofofdatamodelandlogicmodel.Currentlythedatabaseofusagebasicallyandallisrelationtypedatabase,buttheJavabeessentiallyakindofthelanguagewhichfacetoobject,objectatsavingwithreadusageSQLandJDBCcarryonadatabaseoperationandloweredplaitdistanceofefficiencyandsystemofcanmaintenance;2)traditionofJ2EE
22、applicationmuchtheadoptionisaccordingtotheEJBheavyweightframe,thiskindofframesuitablefordevelopalargebusinessenterpriseapplication,butusagetheEJBcontainercarryondevelopmentandadjusttotrytoneedtobewasteagreatdealoftime.ForloweringtheOuofcodetomatchsex,exaltationsystemofdevelopmentefficiency,thistextp
23、utforwardonekindEEaccordingtotheJ2oftheStrutsframe、theHibernateframeandtheSpringframeapplicationdevelopmentstrategy.TheHibernateFrameDatasholdingoutforlongtimelayerandHibernateisonepieceaccordingtoholdoutforlongtimelayerframe,isakindofrealizationobjectandrelationofthetoolwhichreflecttoshoot(O/RMappi
24、ng),itcarriedontheobjectofthelightweighttopacktotheJDBCandmakeproceduremembercanusageobjectplaitdistancethoughttooperationdatabase.ItnotonlyprovidedtoshootfromJavatoreflectofdataform,butalsoprovidedadataasearchandinstaurationmechanism.OppositeinusageJDBCandSQLtooperationdatabase,useHibernateabilityc
25、onsumedlyofexaltationrealizationofefficiency.TheHibernateframeuseallocationdocumentoftheformcometothereflectofthedefinitionJavaobjectanddataformtoshootrelation,inthemeantimeatmoredeepoflevelofdataformofrelationexplanationfortherelationssuchasinheritofandcontainmentetc.ofJavaobject.PasstheusageHQLlan
26、guagesentencecomplicationsofrelationthecalculatewayusethewayofobjectdescription,toalargeextentsimplificationlogarithmsaccordingtoofsearch,speeddevelopmentofefficiency.HaveintheHibernateasimplebutkeeptheAPIofview,usedfortothedatabasemeanofobjectperformancesearch.Wanttoestablishorthemodificationbethes
27、eobjects,needintheprocedurecarryonwiththemtohandoverwitheachother,thentellHibernatetokeep.So,agreatdealofpackholdoutforlongtimeturnoperationofbusinesslogicnolongerdemandwriteatrivialJDBClanguagesentence,makedatalastlongthusthelayergotbiggestofsimplification.UsetheStrutsrealizationMVCstructureMVC(Mod
28、el-View-Controller)isputforwardbytheTrygveReenskaug,firstdriveapplicationintheenvironmentSmallTalk-80,ismanytohandoverwitheachotherwithinterfacesystemofconstitutefoundation.Accordingtotheneedofvariableoftheinterfacedesign,MVChandoverwitheachotherconstituteofsystemtoresolveintomodelandseediagram,cont
29、rollerthreepart.Model(Model)issoftwareprocessingproblemlogicatindependenceinoutsidemanifestationundercontentsandformcircumstanceofinsideabstract,packedthecoredata,logicofproblemandfunctionofcalculationrelation,independenceinconcreteofinterfaceexpressionandI/Ooperation.Seediagram(View)meaninformation
30、andparticularformdemonstrationofmodeldataandlogicrelationandappearancetothecustomer.Itacquireamanifestationinformationfromthemodel,therecanbemanyforhomologyofinformationdissimilarityofmanifestationformorseediagram.Thecontroller(Controller)isaprocessingthecustomerhandoverwithsoftwarewitheachotheroper
31、ationof,itsjobiscontrolprovidemodelinanyvarietyofdissemination,insureacustomerinterfaceamongthemodelofrightnessshouldcontact;Itacceptacustomerofimportation,givetheimportationfeedbackmodel,thenrealizationcomputemodelcontrol,ismakemodelandseediagramtomoderateworkofparts.Usually1seeadiagramrightnesssho
32、uldacontroller.Model,seeseparateofdiagramandcontroller,makeamodelbeabletohavemanymanifestationtoseediagram.Ifthecustomerpassacertainseethecontrollerofdiagramchangethedataofmodel,allotherdependenceintheseseeofdatadiagramallshouldreflectionarrivethesevariety.Whenthereforeandregardlessoccurrencewhatdat
33、avariety,controllerallwouldvarietynoticeallyseediagram,causemanifestationofrenewal.Thisisactuallyakindofvarietyofmodel-disseminationmechanism.TheStrutsFrameTheStrutsframeistobetheitemofApacheJakartatoconstituteparttopublishlucktodoattheearlieststage,itinheritedMVCofeachitemcharacteristic,anddidaccor
34、dingtothecharacteristicsofJ2EEcorrespondofvarietywithexpand.TheStrutsframewasgoodtocombineJsp,JavaServlet,JavaBean,Taliaetc.technique.IntheStruts,whattoundertakethecontrollerroleintheMVCbeanActionServlet.TheActionServletisaningeneralusecontrolmodule.ThiscontrolmoduleprovidedaprocessingallHTTPclaimwh
35、ichsendoutStrutsofentrancepoint.Itsinterceptionwithdistributetheseclaimtoarrivecorrespondofactiontype.(theseactionalloftypeisActionsontype)MoreoverthecontrolmoduleisalsoresponsibleforusingtocorrespondofclaimtheparameterfillActionForm(FromBean),andpassactiontype(ActionBean).Actiontypethebusinesslogic
36、oftheinterviewcore,theninterviewJavaBeanoradjusttouseEJB.Endactiontypecontrolthepowerpassfollow-upofJSPdocument,fromJSPdocumentbornseediagram.AllthesecontrollogicmakeuseofStruts-config.xmlthedocumentcometoallocation.SeediagramintheStrutsframemainfromJSPbornpagecompletion,theStrutsprovideabundantofJS
37、Plabeldatabase,thisisadvantageoustoseparatingperformancelogicandprocedurelogic.Themodeliswith1ortheformexistenceofseveralJavaBean.IntheStruts,mainexistencethreekindsofBean,respectivelyBE:Action,ActionForm,EJBperhapsJavaBean.TheStrutsframehavenoconcretedefinitionmodellayerofrealization,inactuallythed
38、evelopment,modellayerusuallyisclosewithbusinesslogicconnectwitheachother,andwanttocarryonoperationtothefirstfloordata.Theunderneathsintroductionisakindofdevelopmentstrategy,leadtheHibernateintothemodellayerofStrutsframe,usageittocarryonadatatopackwithreflecttoshoot,provideholdoutforlongtimeturnofsup
39、port.4usageHibernateandtheStrutsdevelopmentJ2EEapplication4.1systemstructurediagram3manifestationaccordingtoHibernateandStrutsdevelopmentstrategyofsystemstructurediagram.theSpringFrameSpringisntparticularlyawebframeworkbutagenericlightweightapplicationframeworkwithdedicatedwebsupport,andshowthearchi
40、tecturaldifferencestoStrutsandWebWorkIncontrasttoStrutsorWebWork,Springisanapplicationframeworkforalllayers:Itoffersabeanconfigurationfoundation,AOPsupport,JDBCabstractionframework,abstracttransactionsupportetc.Itisaverynon-intrusiveeffort:YourapplicationclassesdonotneedtodependonanySpringclassesifnotnecessary,andyoucanreuseeverypartonitsownifyouliketo.Fromitsverydesign,theframeworkencouragescleanseparationoftiers,mostimportantlywebtierandbusinesslogic.e.g:thevalidationframeworkdoesnotdependonwebcontrollers.Majorgoalsarereusabilityandtestabil
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 萜烯烴香精油商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 供水設(shè)備產(chǎn)品供應(yīng)鏈分析
- 區(qū)塊鏈數(shù)據(jù)存儲(chǔ)行業(yè)經(jīng)營(yíng)分析報(bào)告
- 繪畫(huà)筆細(xì)分市場(chǎng)深度研究報(bào)告
- 吉林省友好學(xué)校第78屆聯(lián)考2024-2025學(xué)年高三上學(xué)期10月期中英語(yǔ)試題 含解析
- 電滑輪組產(chǎn)品供應(yīng)鏈分析
- 臨床試驗(yàn)行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 家用電動(dòng)干衣機(jī)產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 積木玩具市場(chǎng)發(fā)展前景分析及供需格局研究預(yù)測(cè)報(bào)告
- 安全燈用運(yùn)動(dòng)傳感器產(chǎn)品供應(yīng)鏈分析
- GB/T 44218-2024微型揚(yáng)聲器測(cè)量方法
- 北師大版小學(xué)六年級(jí)數(shù)學(xué)上冊(cè)期中測(cè)試試題及答案
- 2024年初級(jí)消防設(shè)施操作員考試題庫(kù)800題(基礎(chǔ)知識(shí)+實(shí)操技能)
- 2025屆高考語(yǔ)文復(fù)習(xí):2024年全國(guó)各地高考語(yǔ)文語(yǔ)言文字運(yùn)用試題分析及備課建議+課件
- 安全技術(shù)管理專(zhuān)業(yè)畢業(yè)實(shí)習(xí)報(bào)告范文
- 借款合同隨借隨還
- 2024福建福州市公安局協(xié)作支隊(duì)警務(wù)輔助人員招聘筆試參考題庫(kù)含答案解析
- 國(guó)家開(kāi)放大學(xué)《心理學(xué)》形考任務(wù)1-4參考答案
- 專(zhuān)有技術(shù)授權(quán)協(xié)議模板
- SJG 130-2023 混凝土模塊化建筑技術(shù)規(guī)程
- 新入職員工心理培訓(xùn)
評(píng)論
0/150
提交評(píng)論