1. 程式人生 > >《JSF教程》-02 JSF與Struts2、Springmvc的對比

《JSF教程》-02 JSF與Struts2、Springmvc的對比

                 一提到MVC框架,可能大家最熟悉的是Struts了,當然像我一樣90的程式設計師,可能一開始就是從struts2學起,直接跳過以老版的struts1。還有人可能在公司用到了Springmvc,哪麼它們有哪些區別呢?

               其 主要的區別是:

  1. struts2和springmvc是基於傳統的請求處理模型的MVC框架,而JSF是基於事件處理模型的MVC框架
  2.  struts2和springmvc是開源領域推出的,而JSF是由JavaEE官方推出的

下面列出了jsf、struts、springmvc的詳細對比:

 

JSF與struts2、springmvc對比
  JSF Struts2 Springmvc
請求處理元件 managed bean Action Controller
中心控制器 FacesServlet StrutsPrepareAndExecuteFilter DispatcherServlet
有無servletAPI耦合
有無自己的標籤
規範與實現分離
出身 Java官方(Sun) Apache開源組織 Spring開源社群
       

Apache Struts 2 是一種流行的 Java模型 - 檢視 - 控制器(MVC)框架,成功地結合了 WebWork和Struts1.x 兩種 web 框架。它的核心功能都是使用攔截實現“值棧”的概念,OGNL表示式和Struts2標籤來解決應用程式資料,很多註解和約定,使這個框架更加易於使用

Spring MVC是當前最優秀的MVC框架,自從Spring 2.5版本釋出後,由於支援註解配置,易用性有了大幅度的提高。Spring 3.0更加完善,實現了對Struts 2的超越。現在越來越多的開發團隊選擇了Spring MVC。

JSF(JavaServer Faces)它是一個基於伺服器端元件的使用者介面框架。 它用於開發Web應用程式。 它提供了一個定義良好的程式設計模型,由豐富的API和標籤庫組成。最新版本JSF2.x使用Facelets作為其預設模板系統。 它是用Java編寫的。JSF API提供元件(inputTextcommandButton等)並幫助管理其狀態。 它還提供伺服器端驗證,資料轉換,定義頁面導航,提供可擴充套件性,國際化支援,可訪問性等。JSF標籤庫用於在Web頁面上新增元件,並將元件與伺服器上的物件進行連線。 它還包含實現元件標籤的標籤處理程式。藉助這些功能和工具,您可以輕鬆輕鬆地建立伺服器端使用者介面。