全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文獻(xiàn)綜述題目校內(nèi)商品交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專業(yè)班級(jí)軟件技術(shù)JAVA1202院(系)軟件學(xué)院完成時(shí)間2014年3月26日SSH集成框架業(yè)務(wù)邏輯的實(shí)現(xiàn)方法1業(yè)務(wù)邏輯簡(jiǎn)述11業(yè)務(wù)邏輯的概述什么是業(yè)務(wù)邏輯所謂業(yè)務(wù)邏輯就是業(yè)務(wù)規(guī)則,除了簡(jiǎn)單的增刪改查的數(shù)據(jù)訪問(wèn)之外,還會(huì)涉及到一些復(fù)雜的功能流程和功能要求,這些被稱為業(yè)務(wù)邏輯。就像在論壇用戶注冊(cè),包括要向郵箱發(fā)送電子郵件,如果發(fā)送失敗,則注冊(cè)失敗1。12業(yè)務(wù)邏輯的特征業(yè)務(wù)邏輯的特征與數(shù)據(jù)操作的關(guān)系可能包含多次數(shù)據(jù)操作,可能同時(shí)包含數(shù)據(jù)操作和非數(shù)據(jù)操作,可能只有非數(shù)據(jù)操作。業(yè)務(wù)邏輯在維護(hù)方面的特征在業(yè)務(wù)邏輯運(yùn)行過(guò)程中表示策略的邏輯通常會(huì)經(jīng)常修改。所以在實(shí)現(xiàn)業(yè)務(wù)邏輯的過(guò)程中我們會(huì)遇到很多需要解決的問(wèn)題多次數(shù)據(jù)操作時(shí)如何使這些邏輯實(shí)現(xiàn)方法處于同一SESSION下,非數(shù)據(jù)庫(kù)事務(wù)與數(shù)據(jù)庫(kù)事務(wù)如何歸整到同一事務(wù),復(fù)雜的權(quán)限控制會(huì)置于業(yè)務(wù)邏輯中,如何優(yōu)化這些繁瑣的代碼如何處理業(yè)務(wù)規(guī)則頻繁變化這些就是我們接下來(lái)介紹的SSH集成框架所要解決的問(wèn)題1。2SSH集成框架簡(jiǎn)述21STRUTSSTRUTS是通過(guò)采用JAVASERVLET/JSP技術(shù),實(shí)現(xiàn)了基于JAVAEE,WEB應(yīng)用的MVC設(shè)計(jì)模式的應(yīng)用框架。使用STRUTS可以減少我們?cè)谶\(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)WEB應(yīng)用的時(shí)間。在服務(wù)器啟動(dòng)后,STRUTS根據(jù)WEBXML加載ACTIONSERVLET讀取STRUTSCONFIGXML文件內(nèi)容到內(nèi)存3。22SPRINGSPRING是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。SPRING是基于JAVABEAN來(lái)完成以前只可能由EJB完成的事情。SPRING的用途不僅用于服務(wù)器端的開(kāi)發(fā),從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何JAVA應(yīng)用都可以從SPRING中受益4。出現(xiàn),使工作站、文件服務(wù)器結(jié)構(gòu)的第一代MIS系統(tǒng)漸漸淡出主流MIS陣營(yíng)。23HIBERNATEHIBERNATE是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得JAVA程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。HIBERNATE可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在JAVA的客戶端程序使用,也可以在JAVASERVLET/JSP的WEB應(yīng)用中使用,最具革命意義的是,HIBERNATE可以在應(yīng)用EJB的JAVA應(yīng)用中。3SSH集成框架業(yè)務(wù)邏輯的實(shí)現(xiàn)方法以上簡(jiǎn)單介紹了STRUTS,SPRING,HIBERNATE它們各自的實(shí)現(xiàn)方式,然而將它們整合在一起,又是如何實(shí)現(xiàn)業(yè)務(wù)邏輯的呢執(zhí)行效果又如何呢可想而知,整合后的框架會(huì)更強(qiáng)大,執(zhí)行效率會(huì)更快。基于分開(kāi)的三大框架,集成后的框架便是質(zhì)的飛躍在實(shí)現(xiàn)業(yè)務(wù)邏輯時(shí),HIBERNATE主要執(zhí)行以下操作首先通CONFIGURATIONCONFIGURE讀取并解析HIBERNATECFGXML配置文件,再由HIBERNATECFGXML中的讀取并解析映射信息,然后通過(guò)CONFIGBUILDSESSIONFACTORY代碼以創(chuàng)建SESSIONFACTORY,再執(zhí)行SESSIONFACTORYOPENSESSION打開(kāi)SESSION,接下來(lái)執(zhí)行SESSIONBEGINTRANSACTION創(chuàng)建TRANSACTION事務(wù),再通過(guò)PERSISTENTOPERATE實(shí)現(xiàn)持久化操作,最后通過(guò)SESSIONGETTRANSACTIONCOMMIT提交事務(wù),然后關(guān)閉SESSION,關(guān)閉SESSTIONFACTORY。在HIBERNATE實(shí)現(xiàn)了它所應(yīng)負(fù)責(zé)的業(yè)務(wù)邏輯的同時(shí)還要處理一個(gè)很重要的問(wèn)題加載和緩存問(wèn)題。那么HIBERNATE如何完成這些要求的呢HIBERNATE通過(guò)如下操作延遲加載在HIBERNATE2中通過(guò)操作實(shí)體對(duì)象和集合延遲加載;HIBERNATE3中提供了屬性的延遲加載功能。當(dāng)HIBERNATE在查詢數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒(méi)有存在于內(nèi)存中,當(dāng)程序真正對(duì)數(shù)據(jù)進(jìn)行操作時(shí),對(duì)象才存在于內(nèi)存中,這樣實(shí)現(xiàn)了延遲加載,它節(jié)省了服務(wù)器的內(nèi)存開(kāi)銷,從而提高了服務(wù)器的性能。最后談?wù)撓翲IBERNATE的緩存機(jī)制。首先介紹一些緩存的概念內(nèi)部緩存存在HIBERNATE中又叫一級(jí)緩存,屬于應(yīng)用事務(wù)級(jí)別緩存;應(yīng)用緩存及分布式緩存稱為二級(jí)緩存,其中分布式緩存是指數(shù)據(jù)不會(huì)被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù)據(jù)被頻繁使用的緩存;最后還有三級(jí)緩存。接下來(lái)具體介紹一下各級(jí)緩存一級(jí)緩存是SESSION級(jí)的緩存也叫事務(wù)級(jí)的緩存,只緩存實(shí)體,生命周期和SESSION一致,不能對(duì)其進(jìn)行管理,不用顯式地調(diào)用;二級(jí)緩存是SESSIONFACTORY緩存也叫做進(jìn)程級(jí)緩存,使用第三方插件實(shí)現(xiàn),也是只緩存實(shí)體,生命周期和SESSIONFACTORY一致,可以進(jìn)行管理。其中用到了第三方插件,我們用EHCACHE可以先在HIBERNATECFGXML文件中加入TRUE,同時(shí)在映射中也要顯式地調(diào)用在二級(jí)緩存中,如果關(guān)聯(lián)的表發(fā)生了修改,那么查詢緩存的生命周期也結(jié)束了。如果要再次查詢?cè)摫?,就要在程序中手?dòng)啟用查詢緩存QUERYSETCACHEABLETRUE5。在實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯時(shí),STRUTS主要操作是WEB應(yīng)用啟動(dòng)時(shí)會(huì)加載初始化ACTIONSERVLET,ACTIONSERVLET,從STRUTSCONFIGXML文件中讀取配置信息,它們存放到各種配置對(duì)象。當(dāng)ACTIONSERVLET接收到一個(gè)客戶請(qǐng)求時(shí),將執(zhí)行如下流程首先檢索和用戶請(qǐng)求匹配的ACTIONMAPPING實(shí)例,如果不存在,就返回請(qǐng)求路徑無(wú)效信息,如果ACTIONFORM實(shí)例不存在,就創(chuàng)建一個(gè)ACTIONFORM對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ACTIONFORM對(duì)象中,再根據(jù)配置信息決定是否需要表單驗(yàn)證,如果需要驗(yàn)證,就調(diào)用ACTIONFORM的VALIDATE方法。如果ACTIONFORM的VALIDATE方法返回NULL或返回一個(gè)不包含ACTIONMESSAGE的ACTUIBERRORS對(duì)象,就表示表單驗(yàn)證成功。接下來(lái)ACTIONSERVLET根據(jù)ACTIONMAPPING所包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)ACTION,如果相應(yīng)的ACTION實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后再調(diào)用ACTION的EXECUTE方法。然后ACTION的EXECUTE方法返回一個(gè)ACTIONFORWARD對(duì)象,ACTIONSERVLET在把客戶請(qǐng)求轉(zhuǎn)發(fā)給ACTIONFORWARD對(duì)象指向的JSP組件。最后ACTIONFORWARD對(duì)象指向JSP組件生成動(dòng)態(tài)網(wǎng)頁(yè),返回給客戶6。而SPRING主要執(zhí)行的操作是SPRINGMVC將所有的請(qǐng)求都提交給DISPATCHERSERVLET,它會(huì)委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)對(duì)請(qǐng)求進(jìn)行真正的處理工作。然后通過(guò)DISPATCHERSERVLET查詢一個(gè)或多個(gè)HANDLERMAPPING找到處理請(qǐng)求的CONTROLLER。由DISPATCHERSERVLET將請(qǐng)求提交到目標(biāo)CONTROLLER,待CONTROLLER進(jìn)行業(yè)務(wù)邏輯處理后,會(huì)返回一個(gè)MODELANDVIEW,再由DISPATHCHER查詢一個(gè)或多個(gè)視圖解析器VIEWRESOLVER,找到MODELANDVIEW對(duì)象指的視圖對(duì)象,最后視圖對(duì)象負(fù)責(zé)渲染返回給客戶端8。這樣從表面上看STRUTS、SPRING、HIBERNATE在系統(tǒng)中各司其責(zé),但實(shí)質(zhì)上它們內(nèi)在聯(lián)系非常之多,它們是一個(gè)整體,如果離開(kāi)了其中任意一個(gè)分支,那么系統(tǒng)的業(yè)務(wù)邏輯就不會(huì)實(shí)現(xiàn)的那么自然,也不會(huì)最大的發(fā)揮SSH集成框架的優(yōu)越其他框架的功能。整個(gè)SSH集成框架貫穿于系統(tǒng)的表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的WEB應(yīng)用程序。SSH集成框架業(yè)務(wù)邏輯實(shí)現(xiàn)方法可以總的概括為通過(guò)JSP頁(yè)面實(shí)現(xiàn)交互界面,負(fù)責(zé)傳送請(qǐng)求REQUEST和接收響應(yīng)RESPONSE,然后STRUTS根據(jù)配置文件STRUTSCONFIGXML將ACTIONSERVLET接收到的REQUEST委派給相應(yīng)的ACTION處理。管理服務(wù)組件的SPRINGIOC容器負(fù)責(zé)向ACTION提供業(yè)務(wù)模型MODEL組件和該組件的協(xié)作對(duì)象數(shù)據(jù)處理DAO組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。最后依賴HIBERNATE的對(duì)象化映射和數(shù)據(jù)庫(kù)交互,處理DAO組件請(qǐng)求的數(shù)據(jù),并返回處理結(jié)果9。結(jié)論通過(guò)上面的論述,我們對(duì)業(yè)務(wù)邏輯和SSH集成框架有了初步的了解,并學(xué)習(xí)了SSH實(shí)現(xiàn)業(yè)務(wù)邏輯的方法使用STRUTS作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在STRUTS框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用HIBERNATE框架對(duì)持久層提供支持,SPRING做管理,管理STRUTS和HIBERNATE。具體做法是用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的JAVA對(duì)象,然后編寫基本的DAODATA、ACCESS、OBJECTS接口,并給出HIBERNATE的DAO實(shí)現(xiàn),采用HIBERNATE架構(gòu)實(shí)現(xiàn)的DAO類來(lái)實(shí)現(xiàn)JAVA類與數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和訪問(wèn),最后由SPRING做管理,管理STRUTS和HIBERNATE?;赟SH集成框架,我們不僅可以提高開(kāi)發(fā)效率,優(yōu)化代碼結(jié)構(gòu),也提高了代碼的執(zhí)行效率和系統(tǒng)的質(zhì)量,而且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。SSH集成框架幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的WEB應(yīng)用程序。所以SSH集成框架是值得我們深入了解的技術(shù)。參考文獻(xiàn)1張志峰JAVAWEB技術(shù)整合應(yīng)用與項(xiàng)目實(shí)踐JSPSERVLETSTRUTSHIBERNATESPRINGM北京清華大學(xué)出版社,201362李剛輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)STRUTSSPRINGHIBERNATE整合開(kāi)發(fā)M北京電子工業(yè)出版社,200741581593曹曉鋼,唐勇,夏昕深入淺出HIBERNATEM北京電子工業(yè)出版社,2005630394林信良SPRING20技術(shù)手冊(cè)M北京電子工業(yè)出版社,2002832385沃爾斯SPRINGINACTIONM北京人民郵電出版社,2006356596程杰大話設(shè)計(jì)模式M北京清華大學(xué)出版社,20071248497孫衛(wèi)琴JAVA面向?qū)ο缶幊蘉北京電子工業(yè)出版社,200671681728閻宏JAVA與模式M北京電子工業(yè)出版社,20021088969郭峰我的J2EE成功之路M北京電子工業(yè)出版社,20091110811110高洪巖至簡(jiǎn)SSH精通JAVAWEB實(shí)用開(kāi)發(fā)技術(shù)M北京電子工業(yè)出版社,2009119910311張立科JAVA信息管理系統(tǒng)開(kāi)
溫馨提示
- 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íng)養(yǎng)不良患兒的營(yíng)養(yǎng)支持治療
- 礦井斜井助行器培訓(xùn)課件
- 地中海貧血知識(shí)培訓(xùn)課件
- 養(yǎng)牛工程工藝
- 糖尿病低血糖的臨床護(hù)理
- 放療期間患者的氣功療法與護(hù)理
- 2025年哈爾濱廣廈學(xué)院輔導(dǎo)員考試真題
- 杭州市錢塘區(qū)招聘考試真題2024
- 2025年扶風(fēng)縣事業(yè)單位考試真題
- 礦山安全管理
- 教師課程開(kāi)發(fā)能力提升專題培訓(xùn)心得體會(huì)
- 電廠輸煤衛(wèi)生管理制度
- 2025年山西省中考英語(yǔ)試卷真題(含答案詳解)
- TD/T 1036-2013土地復(fù)墾質(zhì)量控制標(biāo)準(zhǔn)
- 《FPC材料介紹》課件
- 燃?xì)庑袠I(yè)工作危害分析(JHA+LEC)評(píng)價(jià)記錄表
- 四川省遂寧市射洪縣九年級(jí)2024-2025學(xué)年(上)期末化學(xué)試卷(含答案)
- 安全生產(chǎn)與員工情緒管理
- 醫(yī)院醫(yī)療保險(xiǎn)費(fèi)用審核制度
- 村衛(wèi)生室醫(yī)療質(zhì)量相關(guān)管理制度
- 【蘇州工學(xué)院智能建造研究院】2025中國(guó)低空經(jīng)濟(jì)產(chǎn)業(yè)鏈全面解析報(bào)告
評(píng)論
0/150
提交評(píng)論