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