struts2架構學習(一),struts2架構學習
一、struts2架構概念
Struts2架構是一個輕量級的MVC流程架構,輕量級是指程式的代碼不是很多,運行時佔用的資源不是很多,MVC流程架構就是說它是支援分層開發,控制資料的流程,從哪裡來,到那裡去,怎麼來,怎麼去的這樣一個架構;Struts2是一個基於MVC設計模式的Web應用程式框架,它本質上相當於一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的資料互動。
二、struts2架構的優缺點
1、優點
a) 實現了MVC模式,階層清晰,使程式員只需關注商務邏輯的實現。
b) 豐富的標籤庫,大大提高了開發的效率。
c) Struts2提供豐富的攔截器實現
d) 通過設定檔,就可以掌握整個系統各個部分之間的關係。
e) 異常處理機制,只需在設定檔中配置異常的映射,即可對異常做相應的處理。
f)Struts2的可擴充性高。Struts2的核心jar包中由一個struts-default.xml檔案,在該檔案中設定了一些預設的bean,resultType類型,預設攔截器棧等,所有這些預設設定,使用者都可以利用設定檔更改,可以更改為自己開發的bean,resulttype等。因此使用者開發了外掛程式的話只要很簡單的配置就可以很容易的和Struts2架構對外掛程式的可插拔的特性。
g) 面向切面編程的思想在Strut2中也有了很好的體現。最重要的體現就是攔截器的使用,攔截器就是一個一個的小功能單位,使用者可以將這些攔截器合并成一個大的攔截器,這個合成的攔截器就像單獨的攔截器一樣,只要將它配置到一個action中即可。
2、缺點
a) Struts2中Action中取得從jsp中傳過來的參數時還是有點麻煩。可以為Struts2的Action中的屬性配置上Getter和Setter方法,通過預設攔截器,就可以將請求參數設定到這些屬性中。如果用這種方式,當請求參數很多時,Action類就會被這些表單屬性弄的很臃腫,讓人感覺會很亂。還有Action中的屬性不但可以用來獲得請求參數還可以輸出到jsp中,這樣會更亂。