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