struts2小結

Struts2 是一個至關強大的Java Web開源框架,是一個基於POJO的Act ion 的MVC Web框架。它基於當年的Webwork和XWork框架,繼承其優勢,同時作了至關的改進。Struts2如今在Java Web開發界的地位能夠說是大紅大紫,從開發人員的角度來分析,Struts2之因此可以如此的深刻開發人員之心,與其優良的設計是分不開的。
下面我從使用Struts2一年之久的經驗來分析一下Struts2的優勢:
1. Struts2基於MVC架構,框架結構清晰,開發流程一目瞭然,開發人員能夠很好的掌控開發的過程。
我在項目開發過程當中,一個具體的功能的開發流程是:
  • 拿到一個具體的功能需求文檔和設計好的前臺界面(在開發中我不負責設計頁面),
  • 分析須要從前臺傳遞哪些參數,肯定參數的變量名稱,在Action中設置相應的變量,
  • 這些參數在前臺如何顯示,並將頁面上的一些控件適當使用Struts2提供的服務器端控件來代替,
  • 編寫Action對應的方法來完成業務邏輯,
  • 最後,作一些與配置文件相關的設置。

固然實際的開發比這個過程要複雜,涉及到數據庫,驗證,異常等處理。可是使用Struts2進行開發,你的關注點絕大部分是在如何實現業務邏輯上,開發過程十分清晰明瞭。

2. 使用OGNL進行參數傳遞。
OGNL提供了在Struts2裏訪問各類做用域中的數據的簡單方式,你能夠方便的獲取Request,Attribute,Application,Session,Parameters中的數據。大大簡化了開發人員在獲取這些數據時的代碼量。

3. 強大的攔截器
Struts2的攔截器是一個Act ion 級別的AOP,Struts2中的許多特性都是經過攔截器來實現的,例如異常處理,文件上傳,驗證等。攔截器是可配置與重用的,能夠將一些通用的功能如: 登陸驗證,權限驗證等置於攔截器中以完成一些Java Web項目中比較通用的功能。在我實現的的一Web項目中,就是使用Struts2的攔截器來完成了系統中的權限驗證功能。

4. 易於測試
Struts2的Act ion都是簡單的POJO,這樣能夠方便的對Struts2的Act ion編寫測試用例,大大方便了Java Web項目的測試。

5. 易於擴展的插件機制
在Struts2添加擴展是一件愉快而輕鬆的事情,只須要將所須要的Jar包放到WEB-INF/lib文件夾中,在struts.xml中做一些簡單的設置就能夠實現擴展。經常使用的Struts2的擴展能夠經過這個連接找到:

6. 模塊化
Struts2已經把模塊化做爲了體系架構中的基本思想,能夠經過三種方法來將應用程序模塊化:
  1. 將配置信息拆分紅多個文件
  2. 把自包含的應用模塊建立爲插件
  3. 建立新的框架特性,即將與特定應用無關的新功能組織成插件,以添加到多個應用中去。

7. 全局結果與聲明式異常
爲應用程序添加全局的Result,和在配置文件中對異常進行處理,這樣當處理過程當中出現指定異常時,能夠跳轉到特定頁面,這一功能十分實用。

Struts2的優勢有不少,歡迎交流討論。
相關文章
相關標籤/搜索