一、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中,這樣會更亂。