學習比較Struts2和Struts1:Struts2完勝
看到struts2.x,原以為是struts1x的改版,學習了struts2.x才知道,它是webWork的更新版本,核心就是webWork,webWork是另一個opensymphony開發組織,也挺優秀的,感覺struts2.x比起struts1.x優秀多了,只是struts1.x出現的比較早,所以用struts1.x開發的還比較多,一時難以接收。以下總結一些struts2和struts1的功能比對,以供參考。
struts2和struts1之比對:struts2的優勢
從體系結構來看:struts2大量使用攔截器來出來請求,從而允許與 業務邏輯控制器 與 servlet-api分離,避免了侵入性;而struts1.x 在action中明顯的侵入了servlet-api.
從線程安全分析:struts2.x是線程安全的,每一個對象產生一個實例,避免了線程安全問題;而struts1.x在action中屬于單線程。
性能方面:struts2.x測試可以脫離web容器,而struts1.x依賴servlet-api,測試需要依賴web容器。
請求參數封裝對比:struts2.x使用ModelDriven模式,這樣我們 直接 封裝model對象,無需要繼承任何struts2的基類,避免了侵入性。
標簽的優勢:標簽庫幾乎可以完全替代JSTL的標簽庫,并且 struts2.x支持 強大的ognl表達式。
當然,struts2和struts1相比,在 文件上傳,數據校驗 等方面也 方便了好多。在這就不詳談了。
一個比較優秀的 框架 可以 幫著 我們 更高效,穩定的開發 合格的產品,不過我們也不要 依賴框架,我們只要理解了思想,設計模式,我們可以自己擴展 功能,不然 就要 永遠讓別人牽著走了!
【編輯推薦】