struts2框架以前用過一陣子,最近一直在用springmvc,今天突然想結合自己以前的一點經驗總結一下struts2的優缺點,參考部分網友的帖子結合自己的想法,總結如下:
優點:
(1) 實現了mvc模式,層次結構清晰,使程式設計師只需關注業務邏輯的實現。
(2) 豐富的標籤庫,大大提高了開發的效率。
(3) struts2提供豐富的***實現。
(4) 通過配置檔案,就可以掌握整個系統各個部分之間的關係。
(5) 異常處理機制,只需在配置檔案中配置異常的對映,即可對異常做相應的處理。
(6) struts2的可擴充套件性高。struts2的核心jar包中由乙個struts-default.xml檔案,在該檔案中設定了一些預設的bean,resulttype型別,預設***棧等,所有這些預設設定,使用者都可以利用配置檔案更改,可以更改為自己開發的bean,resulttype等。因此使用者開發了外掛程式的話只要很簡單的配置就可以很容易的和struts2框架融合,這實現了框架對外掛程式的可插拔的特性。
(7) 面向切面程式設計的思想在strut2中也有了很好的體現。最重要的體現就是***的使用,***就是乙個乙個的小功能單位,使用者可以將這些***合併成乙個大的***,這個合成的***就像單獨的***一樣,只要將它配置到乙個、action中就可以。
缺點:
(1) struts2中action中取得從jsp中傳過來的引數時還是有點麻煩。可以為struts2的action中的屬性配置上getter和setter方法,通過預設***,就可以將請求引數設定到這些屬性中。如果用這種方式,當請求引數很多時,action類就會被這些表單屬性弄的很臃腫,讓人感覺會很亂。還有action中的屬性不但可以用來獲得請求引數還可以輸出到jsp中,這樣就會更亂。假設從jsp1中獲得了引數money=100000,但是這個action還要輸出到jsp2中,但是輸出的格式卻不同,money=100,000,這樣這個action中的money中的值就變了。
(2) 校驗還是感覺比較繁瑣,感覺太煩亂,也太細化了,如果校驗出錯的只能給使用者提示一些資訊。如果有多個字段,每個字段出錯時返回到不同的畫面,這個功能在strut2框架下借助框架提供的校驗邏輯就不容易實現。
(3) 安全性有待提高。struts2曝出2個高危安全漏洞,乙個是使用縮寫的導航引數字首時的遠端**執行漏洞,另乙個是使用縮寫的重定向引數字首時的開放式重定向漏洞。這些漏洞可使黑客取得**伺服器的「最高許可權」,從而使企業伺服器變成黑客手中的「肉雞」。
Struts2優缺點(未完待續)
這幾天有空大致看了一下struts2,因此有了一些看法,特記錄下來。struts2比struts1已經有了很大的進步,優點很多,其中主要兩個是 對框架api和servletapi的依賴減少,可擴充套件性提高。struts2的action可以實現框架提供的action介面也可以不實現這個介面。實際上框...
struts2的工作原理 及優缺點
乙個請求在struts2框架中的處理大概可以分為以下幾個步驟 在上述過程中所有的物件 action,results,interceptors,等 都是通過objectfactory來建立的。優點 1.實現mvc模式,結構清晰,使開發者只關注業務邏輯的實現.2 有豐富的tag可以用 struts的標記...
Struts的優缺點
struts是開源軟體,使開發者能更深入的了解其內部實現機制。struts 優點 業界 標準 很多成功案例 學習資源豐富。struts的優點主要集中體現在兩個方面 taglib和頁面導航。a 利用struts提供的taglib可以大大節約開發時間。b 維護擴充套件比較方便。通過乙個配置檔案,即可把握...