各技術(shù)框架架構(gòu)圖_第1頁(yè)
各技術(shù)框架架構(gòu)圖_第2頁(yè)
各技術(shù)框架架構(gòu)圖_第3頁(yè)
各技術(shù)框架架構(gòu)圖_第4頁(yè)
各技術(shù)框架架構(gòu)圖_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、各種系統(tǒng)架構(gòu)圖及其簡(jiǎn)介I.Spring架構(gòu)圖Spring是一個(gè)開(kāi)源框架,是為了解決企業(yè)應(yīng)用程序開(kāi)發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個(gè)組件,同時(shí)為J2EE應(yīng)用程序開(kāi)發(fā)提供集成的框架。Spring框架的功能可以用在任何J2EE服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。Spring的核心要點(diǎn)是:支持不綁定到特定J2EE服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問(wèn)對(duì)象。這樣的對(duì)象可以在不同J2EE環(huán)境(Wb或EJB)、獨(dú)立應(yīng)用程序、測(cè)試環(huán)境之間重用。SpringCoreSpringCoreSupportingUUrtiBSUUrtiBS嚏口n nconlainconlain

2、 f f組成Spring框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。每個(gè)模塊的功能如下:核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實(shí)現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(IOC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開(kāi)。Spring上下文:Spring上下文是一個(gè)配置文件, 向Spring框架提供上下文信息。Spring上下文包括企業(yè)服務(wù),例如JNDI、EJB、電子郵件、國(guó)際化、校驗(yàn)和調(diào)度功能。SpringAOP:通過(guò)配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成

3、到了Spring框架中。所以,可以很容易地使Spring框架管理的任何對(duì)象支持AOP。SpringAOP模塊為基于Spring的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過(guò)使用SpringAOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。SpringDAO:JDBCDAOtt象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來(lái)管理異常處理和不同數(shù)據(jù)庫(kù)供應(yīng)商拋出的錯(cuò)誤消息。異常層次結(jié)構(gòu)簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開(kāi)和關(guān)閉連接)。SpringDAO的面向JDBC的異常遵從通用的DAO異常層次結(jié)構(gòu)。SpringORM:Spring框架插入了若干個(gè)ORMM架,從

4、而提供了ORM勺對(duì)象關(guān)系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有這些都遵從Spring的通用事務(wù)和DAO異常層次結(jié)構(gòu)。SpringAOPSpringAOPmetsdartametsdartaAOPinItasIruGbjreAOPinItasIruGbjreSpringORMSpringORMHb/MHb/M拈SupportSupportiBat&suppodiBat&suppodJDOsupportJDOsupportSpringWebSpringWebMullpartrcsotvorSpringDAOSpringDAOTransacbonin

5、traslructureJOBCsupportJOBCsupportDAOaipportDAOaipportSpringContextSpringContextApplicationconiexrApplicationconiexrUIsupportUIsupportValidatcnValidatcnJNDLEJBfujppcnJfidJNDLEJBfujppcnJfidr&rnodeklnQr&rnodeklnQMailMailSpringWebSpringWebMVCMVCWebMVCFfamewoWebMVCFfamewofkWebfkWebV VMWSJSPMCIMI

6、WPDFJExpoitPDFJExpoitIBATIS:最大的優(yōu)點(diǎn)是可以有效的控制sql發(fā)送的數(shù)目,提高數(shù)據(jù)層的執(zhí)行效率!它需要程序員自己去寫sql語(yǔ)句,不象hibernate那樣是完全面向?qū)ο蟮?,自?dòng)化的,ibatis是半自動(dòng)化的,通過(guò)表和對(duì)象的映射以及手工書(shū)寫的sql語(yǔ)句,能夠?qū)崿F(xiàn)比hibernate等更高的查詢效率。Ibatis只是封裝了數(shù)據(jù)訪問(wèn)層,替我們做了部分的對(duì)象關(guān)系映射。但代價(jià)是必須要寫xml配置文件,相對(duì)于Hibernate還要寫很多sql。Hibernate通過(guò)工具直接從數(shù)據(jù)庫(kù)模式生成實(shí)體類和基本的配置文件,而且大部分情況下不需要我們寫sql,會(huì)較大的提升開(kāi)發(fā)效率。但這些也有

7、很多的局限性,尤其是對(duì)環(huán)境的要求較高(數(shù)據(jù)庫(kù)設(shè)計(jì),對(duì)象設(shè)計(jì),團(tuán)隊(duì)的協(xié)作等)。個(gè)人感覺(jué)Ibatis對(duì)項(xiàng)目比較有意義的地方在于它小巧靈活,可擴(kuò)展,封裝了數(shù)據(jù)訪問(wèn)層(事務(wù),緩存,異常,日志),并提供了DAO框架支持。禾用Ibatis我們可以做到代碼和sql的分離,只要sql能夠解決的問(wèn)題,Ibatis就能幫我們較容易的解決,同時(shí)也使我們的項(xiàng)目對(duì)某一框架的依賴性變?。ㄒ?yàn)镮batis是非侵入性的)。這將極大的降低項(xiàng)目風(fēng)險(xiǎn),減少解決復(fù)雜問(wèn)題的時(shí)間,使項(xiàng)目的維護(hù)變得簡(jiǎn)單。Ibatis對(duì)于應(yīng)用的修改,調(diào)試,擴(kuò)充和維護(hù)將會(huì)變得容易自然。修改時(shí),我們主要修改的是代表模型的實(shí)體對(duì)象,xml配置文件中的sql,和/

8、或配置文件的ResultMap(很多時(shí)候是不需要的)。同時(shí),sql和代碼分離,我們不用在代碼的StringBuffer的append方法之間尋找需要修改的sql。配置文件中的sql便利了我們的調(diào)試和對(duì)sql的評(píng)審及以后的sql重用。3.structs1架構(gòu)圖Struts是Apache基金會(huì)Jakarta項(xiàng)目組的一個(gè)OpenSource項(xiàng)目,它采用MVC模式,能夠很好地幫助java開(kāi)發(fā)者利MapMap.MapMap.k kTreeMap.TreeMap.HjHjPrimitive”SQLMapMappedMappedStalementStalement5tal5tal rrwnlrrwnlMap

9、pedMappedSTjieirwniSTjieirwniMjppcdMjppcdSlatenwntSlatenwntMappedMappedSlatemenlSlatemenlMappedMappedTeeM吊F1Piimiliw(lnte1Piimiliw(lntegergerr rSiring.Siring./ /ibatis是一個(gè)基于Java的持久層框架。iBATIS提供的持久層框架包括SQLMaps和DataAccessObjects(DAO),同時(shí)還提供一個(gè)利用這個(gè)框架開(kāi)發(fā)的JPetStore實(shí)例。JJDBC_-B-MappedStatMappedStatementementMap

10、pedSiatMappedSiatfmcntfmcntMappedMappedR RuUO&tectluUO&tectlOtitMOtitMpMpM inetinet rObjrObjectHNMJt!ectHNMJt!用J2EE開(kāi)發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts也是面向?qū)ο笤O(shè)計(jì),將MVC模式分離顯示邏輯和業(yè)務(wù)邏輯的能力發(fā)揮得淋漓盡致。Structs框架的核心是一個(gè)彈性的控制層,基于如JavaServlets,JavaBeans,ResourceBundles與XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommonS勺一些類庫(kù)。Struts有一組相互協(xié)作的類(組件

11、)、Serlvet以及jsptaglib組成?;趕truts構(gòu)架的web應(yīng)用程序基本上符合JSPModel2的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是一個(gè)傳統(tǒng)MVC設(shè)計(jì)模式的一種變化類型。Struts有其自己的控制器(Controller),同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問(wèn)技術(shù)相結(jié)合,如JDBC/EJB,以及其它第三方類庫(kù),如Hibernate/iBATIS,或者ObjectRelationalBridge(對(duì)象關(guān)系橋)。在視圖層,Struts能夠與JSP,包括JSTL與JSF,以及Velocity模板,XSLT與其它表示層技術(shù)。

12、Struts為每個(gè)專業(yè)的Web應(yīng)用程序做背后的支撐,幫助為你的應(yīng)用創(chuàng)建一個(gè)擴(kuò)展的開(kāi)發(fā)環(huán)境。Clientbrowser(客戶瀏覽器)來(lái)自客戶瀏覽器的每個(gè)HTTP請(qǐng)求創(chuàng)建一個(gè)事件。Web容器將用一個(gè)HTTP響應(yīng)作出響應(yīng)。Controller(控制器)控制器接收來(lái)自瀏覽器的請(qǐng)求,并決定將這個(gè)請(qǐng)求發(fā)往何處。就Struts而言,控制器是以servlet實(shí)現(xiàn)的一個(gè)命令設(shè)計(jì)模式。struts-config.xml文件配置控制器。業(yè)務(wù)邏輯業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。就Struts而言,這是通過(guò)作為實(shí)際業(yè)務(wù)邏輯“瘦”包裝的Action類完成的。Model(模型)的狀態(tài)模型表示應(yīng)用程序的狀態(tài)

13、。業(yè)務(wù)對(duì)象更新應(yīng)用程序的狀態(tài)。ActionForm.bean在會(huì)話級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。JSP文件使用JSP標(biāo)記讀取來(lái)自ActionForm.bean的信息。View(視圖)視圖就是一個(gè)JSP文件。其中沒(méi)有流程邏輯,沒(méi)有業(yè)務(wù)邏輯,也沒(méi)有模型信息-只有標(biāo)記。標(biāo)記是使Struts有別于其他框架(如Velocity)的因素之一Struts2相對(duì)于Struts1.X,將實(shí)現(xiàn)用戶業(yè)務(wù)邏輯(Action)同ServletAPI分離開(kāi),這種分離機(jī)制,是采用了攔截器或者攔截器棧(攔截器鏈)。攔截器是Struts2內(nèi)建了多個(gè)攔截器和攔截器棧(由多個(gè)攔截器形成的攔截器鏈),將用戶的Web請(qǐng)求進(jìn)

14、行攔截處理,從而提供了更加豐富的功能,例如數(shù)據(jù)類型轉(zhuǎn)換、國(guó)際化、文件上傳等。KeyKey:SerVlelFrtter&SlruteCorerInrtorcepkx5UsercreatedSerVlelFrtter&SlruteCorerInrtorcepkx5Usercreated5.Hibernate架構(gòu)圖Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使彳導(dǎo)Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合, 既可以在Java的客戶端程序使用, 也可以在Servlet/J

15、SP的Web應(yīng)用中使用, 最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Struts2的核心內(nèi)容之StrutsHttpServletR&questHttpServletR&questActlonContextCleanUpActlonContextCleanUpOthsrfHters(StteMesh.tcOthsrfHters(StteMesh.tcFiIterOispatcherFiIterOispatcherActionproxyActionproxystruts.xmlstruts.xmlActionMapperA

16、ctionMapperT TgSubsy&temgSubsy&temHTMLtoEnHTMLtoEnIElnt&r=ptur1lnt&r=ptur1l. .HttpServietResponseHttpServietResponse1 1Interceptor2Interceptor21 1I I一Interceptor1Interceptor1. .int-ptnrint-ptnr2 2ConfigurationManagConfigurationManagererActionActionResultResultSessionTninsaclionQueryI

17、Ci*nftLinraiSessionTninsaclionQueryICi*nftLinraiJND1JDBCJIAJND1JDBCJIAJ JHibernate的核心接口共有5個(gè),分另U為:Session、SessionFactory_、Transaction、Query和Con巾guration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUDft作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是Se

18、ssion對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSesion對(duì)象稱為用戶session。 SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。 它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指

19、定一個(gè)SessionFactory。Configuration接口:Con巾guration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后倉(cāng)I建SessionFactory對(duì)象。 Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用HQL語(yǔ)言或SQL語(yǔ)句兩種表達(dá)方式。6.J2EE架構(gòu)

20、圖J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu), 包含許多組件, 主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。JntercqxorJntercqxorLScrlpcLScrlpcJ2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。RMU1I0PRMU1I0PJNDiJNDiJMSJMSHTTPHTTP7.Oracle架構(gòu)圖OverviewofPrimaryComponentsOver

21、viewofPrimaryComponentsPMONSMONDBWRLGWRCKPTOthersPMONSMONDBWRLGWRCKPTOthersWebWebClientClientI|AppletAppletClientClientUserUserprocessprocessSharedpoolSharedpoolLibrajyLibrajycachecacheInstanceInstanceSGASGAServerprocServerprocessess PGAPGADataDietDataDietcachecacheDatabaseDatabasebuffercachebuffercacheRedologRedologbuffercachebuffercacheJMSServerJMSServerI辦公室衛(wèi)生管理制度一、主要內(nèi)容與適用范圍1,本制度規(guī)定了辦公室衛(wèi)生管理的工作內(nèi)容和要求及檢查與考核。2.此管理制度適用于本公司所有辦公室衛(wèi)生的管理二、定義1-公共區(qū)域:包括辦公室走道、會(huì)議室、衛(wèi)生間,每天由行政文員進(jìn)行清掃;2.個(gè)人區(qū)域:包括個(gè)人辦公桌及辦公區(qū)域由各部門工作人員每天自行清掃。1.公共區(qū)域環(huán)境衛(wèi)生應(yīng)做到以下幾點(diǎn):1)保持公共區(qū)域及個(gè)人區(qū)域地面干凈清潔、無(wú)污物、污水、浮土,無(wú)死角。2)保持門窗干凈、無(wú)塵土、玻璃清潔、透明3)保持

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論