Spring是一個開源的Java/Java EE全功能棧應用程序框架,在JavaEE社區中非常受歡迎,以Apache許可證形式發布,也有.NET平台上的移植版本。
Struts2是一個web應用框架。它不是一個Struts的新的發布版本,而是一個全新的框架。Struts2是第二代基於Model- View-Controller (MVC)模型的web應用框架。Struts2是java企業級web應用的可擴展性的框架。它是WebWork和Struts社區合並后的產物。這一版本的Struts2聲稱,Struts2會接近於原先版本Struts,並且會更容易使用。Struts2沒有繼承Struts1的血統,而是繼承了 webwork的血統。
Wicket是一個基於Java的Web開發框架,與Struts、WebWork、Tapestry相類似。其特點在於對Html和代碼進行了有效的分離(有利於程序員和美工的合作),基於規則的配置(減少了XML等配置文件的使用),學習曲線較低(開發方式與C/S相似),更加易於調試,錯誤類型比較少,而且容易定位。
Tapestry是一個開源的基於servlet的應用程序框架,它使用組件對象模型來創建動態的,交互的web應用。一個組件就是任意一個帶有 jwcid屬性的html標記。其中jwc的意思是Java Web Component。Tapestry使得java代碼與html完全分離,利用這個框架開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。 Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發。
Stripes是一個視圖框架用於利用最新的Java技術來構建Web應用程序。它具有以下特點:
- 不需要對每一page/action進行映射配置(ActionBeans將自動被發現,它利用注釋進行配置)。
- 強大的綁定引擎用於構建復雜並脫離請求參數的web對象。
- 易於使用並可本地化的驗證與類型轉換系統。
- 可重復使用ActionBean作為視圖幫助類。
- 支持一個form對應多個事件。
- 透明的文件上傳能力。
- 支持持續開發(比如在構思你的ActionBean之前可以先構建與測試JSP)等。