資源描述:
《SSH框架使用概述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、SSH框架使用概述前言使用新框架主要是處于系統(tǒng)代碼的可擴(kuò)展性和可移植性兩方面進(jìn)行考慮。在早期的代碼編寫中,沒有特別規(guī)范代碼的層次結(jié)構(gòu)和編碼形式,因此程序員往往不考慮代碼層次結(jié)構(gòu)的設(shè)計(jì),只關(guān)心功能的實(shí)現(xiàn)和執(zhí)行效率。隨著時(shí)代的發(fā)展,計(jì)算機(jī)硬件水平的不斷提高,代碼執(zhí)行的效率由計(jì)算機(jī)本身的運(yùn)行速度所決定。程序員不必過(guò)分的追求代碼的執(zhí)行速度。因此代碼風(fēng)格和層次結(jié)構(gòu)成為開發(fā)人員更為關(guān)心的內(nèi)容。與此同時(shí),客戶也隨著時(shí)代的改變需求也隨之更新。要求系統(tǒng)不斷的進(jìn)行升級(jí)和改造,這樣,開發(fā)人員要不斷的對(duì)系統(tǒng)的各個(gè)部分進(jìn)行改進(jìn)。往往因?yàn)橐粋€(gè)很小的問題,導(dǎo)致人們要從底層一直
2、改進(jìn)的頁(yè)面展示。從而出現(xiàn)“牽一發(fā)動(dòng)全身”的現(xiàn)象。顯然在使用老的層次結(jié)構(gòu)來(lái)面對(duì)如今快速更新發(fā)展的需求是不合適的。因此,使得程序員們對(duì)代碼的層次結(jié)構(gòu)和改進(jìn)成為一件刻不容緩的事情?;谏鲜隹紤],項(xiàng)目組在北京市目錄三期系統(tǒng)中,對(duì)框架進(jìn)行了改進(jìn),采用了SSH的結(jié)構(gòu)。下面我通過(guò)在使用新框架開發(fā)項(xiàng)目過(guò)程中的一些感受進(jìn)一步進(jìn)行講解。分析說(shuō)到SSH技術(shù),因此就一定先要談一談mvc開發(fā)模式。大家請(qǐng)看這張圖,這張圖就是mvc最簡(jiǎn)單明了的一張關(guān)系圖。任何技術(shù)和框架都有優(yōu)缺點(diǎn),我們只有了解了他的優(yōu)缺點(diǎn)才能將它更好的應(yīng)用在我們的系統(tǒng)中。我將結(jié)合北京市三期目錄系統(tǒng)具體說(shuō)明mv
3、c結(jié)構(gòu)的優(yōu)缺點(diǎn)。MVC的優(yōu)點(diǎn)◆低耦合性。視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。 ◆高重用性和可適用性。隨著技術(shù)的不斷進(jìn)步,現(xiàn)在需要用越來(lái)越多的方式來(lái)訪問應(yīng)用程序。MVC模式允許你使用各種不同樣式的視圖來(lái)訪問同一個(gè)服務(wù)器端的代碼。它包括任何WEB(HTTP)瀏覽器或者無(wú)線瀏覽器(wap),比如,用戶可以通過(guò)電腦也可通過(guò)手機(jī)來(lái)訂購(gòu)某樣產(chǎn)品,雖然訂購(gòu)的方式不一樣,但處理訂
4、購(gòu)產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來(lái)表示,但是也有可能用WAP來(lái)表示,而這些表示所需要的僅令是改變視圖層的實(shí)現(xiàn)方式,而控制層和模型層無(wú)需做任何改變?! 糨^低的生命周期成本。MVC使降低開發(fā)和維護(hù)用戶接品的技術(shù)含量成為可能?! 艨焖俚牟渴?。使用MVC模式使開發(fā)時(shí)間得到相當(dāng)大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中業(yè)務(wù)于表現(xiàn)形式上?! 艨删S護(hù)性。分開視圖層和業(yè)務(wù)邏輯層也使得WEB應(yīng)用更易于維護(hù)和修改。◆
5、有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過(guò)工程化、工具化管理程序代碼。MVC的缺點(diǎn)MVC的缺點(diǎn)是由于它沒有明確的定義,所以完全理解MVC并不是很容易。使用MVC需要精心的計(jì)劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費(fèi)一些時(shí)間去思考?! ∧銓⒉坏貌换ㄙM(fèi)相當(dāng)可觀的時(shí)間去考慮如何將MVC運(yùn)用到你的應(yīng)用程序,同時(shí)由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序到來(lái)了一定的困難。每個(gè)構(gòu)件在使用之前都需要經(jīng)過(guò)徹底的測(cè)試。一旦你的構(gòu)件經(jīng)過(guò)了測(cè)試,你就可以毫無(wú)顧忌的重用它們了。 根據(jù)開發(fā)者經(jīng)驗(yàn),由于開發(fā)者將一個(gè)應(yīng)用
6、程序分成了三個(gè)部件,所以使用MVC同時(shí)也意味著你將要管理比以前更多的文件,這一點(diǎn)是顯而易見的。這樣好像我們的工作量增加了,但是請(qǐng)記住這比起它所能帶給我們的好處是不值一提?! VC并不適合小型甚至中等規(guī)模的應(yīng)用程序,花費(fèi)大量時(shí)間將MVC應(yīng)用到規(guī)模并不是很大的應(yīng)用程序通常會(huì)得不償失?! VC是一條創(chuàng)建軟件的好途徑MVC設(shè)計(jì)模式是一個(gè)很好創(chuàng)建軟件的途徑,它所提倡的一些原則,像內(nèi)容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構(gòu)件,你可能需要重新思考你的應(yīng)用程序,尤其是應(yīng)用程序的構(gòu)架方面。如果你肯接受MVC,并且有能力應(yīng)付它所帶來(lái)
7、的額外的工作和復(fù)雜性,MVC將會(huì)使你的軟件在健壯性,代碼重用和結(jié)構(gòu)方面上一個(gè)新的臺(tái)階。組件與框架的結(jié)合日志組件日志組件module層樹型展示組件列表展示組件視圖層(view)控制層(Controll)持久層(Module)使用新框架遇到的問題及解決方案1.延遲加載問題在使用hibernate中,由于需要有表關(guān)聯(lián),但是出于對(duì)系統(tǒng)性能的考慮,需要用到延遲加載,在使用中會(huì)發(fā)現(xiàn),spring封裝的hibernate和純hibernate的使用是不同的。因?yàn)榧僪ibernate可以自己利用session工廠控制session的打開和關(guān)閉。而spring封裝
8、的hibernate測(cè)試由spring來(lái)控制事務(wù)的管理。所以可能出現(xiàn)在dao層延遲加載能夠使用,但是在service層就出現(xiàn)sessio