JavaServer Faces (JSF)
簡介
JavaServer Faces (JSF) 是一種用於構建 Web 應用程式的新標準 Java 框架。它提供了一種以組件為中心來開發 Java Web 用戶界面的方法,從而簡化了開發。JavaServer Faces 還引起了廣大 Java/Web 開發人員的興趣。“企業開發人員”和 Web 設計人員將發現 JSF 開發可以簡單到只需將用戶界面 (UI) 組件拖放到頁面上,而“系統開發人員”將發現豐富而強健的 JSF API 為他們提供了無與倫比的功能和編程靈活性。結構
JSF 還通過將良好構建的模型-視圖-控制器 (MVC) 設計模式集成到它的體系結構中,確保了應用程式具有更高的可維護性。最後,由於 JSF 是通過 Java Community Process (JCP) 開發的一種 Java 標準,因此開發工具供應商完全能夠為 JavaServer Faces 提供易於使用的、高效的可視化開發環境。JSF 體系結構
JavaServer Faces 的 MVC 實現
JSF 的主要優勢之一就是它既是 Java Web 用戶界面標準又是嚴格遵循模型-視圖-控制器 (MVC) 設計模式的框架。用戶界面代碼(視圖)與應用程式數據和邏輯(模型)的清晰分離使 JSF 應用程式更易於管理。為了準備提供頁面對應用程式數據訪問的 JSF 上下文和防止對頁面未授權或不正確的訪問,所有與應用程式的用戶互動均由一個前端“Faces”servlet(控制器)來處理。圖 1:JavaServer Faces 的 MVC 實現
JSF 生命周期Faces Controller servlet 充當用戶和 JSF 應用程式之間的紐帶。它在明確限定的 JSF 生命周期(規定了用戶請求之間的整個事件流)的範圍內工作。例如,一收到訪問 JSF 應用程式的初始 Web 請求,Faces Controller servlet 便通過首先準備 JSF 上下文(存放所有應用程式數據的一個 Java 對象)來處理請求。然後控制器把用戶指引到所請求的頁面。該頁面通常使用簡單的表達式語言來處理來自 JSF 上下文的應用程式數據。一收到後續請求,控制器就更新所有模型數據(假設輸入了新數據)。JSF 開發人員可以通過編程的方式在應用程式運行期間隨時訪問整個 JSF 生命周期,從而可以隨時對應用程式的行為進行高度控制。
JSF 參考實現
目前比較優秀的由sun實現和 apache 的myfaces實現sun 實現網址:參見擴展閱讀
有實現的jar 包下載。
apache實現網址:參見擴展閱讀
最新版本,都支持JSF 2.0規範。