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