解释spring,struts,hibernate优缺点
生活随笔
收集整理的這篇文章主要介紹了
解释spring,struts,hibernate优缺点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解釋spring,struts,hibernate優(yōu)缺點(diǎn)
Struts優(yōu)點(diǎn):對(duì)視圖層進(jìn)行封裝 更好的分離視圖層和控制層 對(duì)數(shù)據(jù)進(jìn)行封裝 缺點(diǎn): 1 、轉(zhuǎn)到展示層時(shí),需要配置forward,每一次轉(zhuǎn)到展示層,相信大多數(shù)都是直接轉(zhuǎn)到j(luò)sp,而涉及到轉(zhuǎn)向,需要配置forward,如果有十個(gè)展示層的jsp,需要配置十次struts,而且還不包括有時(shí)候目錄、文件變更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整個(gè)項(xiàng)目,而tomcate這樣的服務(wù)器,還必須重新啟動(dòng)服務(wù)器,如果業(yè)務(wù)變更復(fù)雜頻繁的系統(tǒng),這樣的操作簡(jiǎn)單不可想象。現(xiàn)在就是這樣,幾十上百個(gè)人同時(shí)在線使用我們的系統(tǒng),大家可以想象一下,我的煩惱有多大。2 、Struts 的Action必需是thread-safe方式,它僅僅允許一個(gè)實(shí)例去處理所有的請(qǐng)求。所以action用到的所有的資源都必需統(tǒng)一同步,這個(gè)就引起了線程安全的問(wèn)題。?3、 測(cè)試不方便. Struts的每個(gè)Action都同Web層耦合在一起,這樣它的測(cè)試依賴(lài)于Web容器,單元測(cè)試也很難實(shí)現(xiàn)。不過(guò)有一個(gè)Junit的擴(kuò)展工具Struts TestCase可以實(shí)現(xiàn)它的單元測(cè)試。?4、 類(lèi)型的轉(zhuǎn)換. Struts的FormBean把所有的數(shù)據(jù)都作為String類(lèi)型,它可以使用工具Commons-Beanutils進(jìn)行類(lèi)型轉(zhuǎn)化。但它的轉(zhuǎn)化都是在Class級(jí)別,而且轉(zhuǎn)化的類(lèi)型是不可配置的。類(lèi)型轉(zhuǎn)化時(shí)的錯(cuò)誤信息返回給用戶(hù)也是非常困難的。?5、 對(duì)Servlet的依賴(lài)性過(guò)強(qiáng). Struts處理Action時(shí)必需要依賴(lài)ServletRequest 和ServletResponse,所有它擺脫不了Servlet容器。?6、 前端表達(dá)式語(yǔ)言方面.Struts集成了JSTL,所以它主要使用JSTL的表達(dá)式語(yǔ)言來(lái)獲取數(shù)據(jù)。可是JSTL的表達(dá)式語(yǔ)言在Collection和索引屬性方面處理顯得很弱。?7、 對(duì)Action執(zhí)行的控制困難. Struts創(chuàng)建一個(gè)Action,如果想控制它的執(zhí)行順序?qū)?huì)非常困難。甚至你要重新去寫(xiě)Servlet來(lái)實(shí)現(xiàn)你的這個(gè)功能需求。?8、 對(duì)Action 執(zhí)行前和后的處理. Struts處理Action的時(shí)候是基于class的hierarchies,很難在action處理前和后進(jìn)行操作。?9、 對(duì)事件支持不夠. 在struts中,實(shí)際是一個(gè)表單Form對(duì)應(yīng)一個(gè)Action類(lèi)(或DispatchAction),換一句話(huà)說(shuō):在Struts中實(shí)際是一個(gè)表單只能對(duì)應(yīng)一個(gè)事件,struts這種事件方式稱(chēng)為application event,application event和component event相比是一種粗粒度的事件。? Spring優(yōu)點(diǎn): 用依賴(lài)注入模式大幅度的減少了程序之間的耦合性 并很好的實(shí)現(xiàn)了各種JAVA的設(shè)計(jì)模式 強(qiáng)制使用者養(yǎng)成用接口編程的習(xí)慣 缺點(diǎn): 使用人數(shù)不多、jsp中要寫(xiě)很多代碼、控制器過(guò)于靈活,缺少一個(gè)公用控制器 Hibernate: 用操作對(duì)象的方式操作數(shù)據(jù)庫(kù) 將對(duì)數(shù)據(jù)庫(kù)的操作面向?qū)ο蠡?并對(duì)一些數(shù)據(jù)庫(kù)操作進(jìn)行了封裝 缺點(diǎn): 它限制您所使用的對(duì)象模型。(例如,一個(gè)持久性類(lèi)不能映射到多個(gè)表)其獨(dú)有的界面和可憐的市場(chǎng)份額也讓人不安,盡管如此,Hibernate 還是以其強(qiáng)大的發(fā)展動(dòng)力減輕了這些風(fēng)險(xiǎn)。其他的開(kāi)源持久性框架也有一些,不過(guò)都沒(méi)有 Hibernate 這樣有市場(chǎng)沖擊力。總結(jié)
以上是生活随笔為你收集整理的解释spring,struts,hibernate优缺点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 运行QQ出现initialization
- 下一篇: 梦到背别人是什么意思