JavaServer Faces(JSF) 是一種標準的 J2EE 表示層的技術,其主旨是為了使 Java 開發人員能夠快速的開發基于 Java 的 Web 應用程序。它不同于其它 Java 表示層技術的最大優勢是其采用的組件模型,事件驅動,并且和其它的 MVC 框架相比,它是一種 Java 標準,在Java EE 5 中,JavaServer Faces 1.2 正式作為一個標準,加入 Java Enterprise 的世界。
??? 作為一種高度組件化的技術,開發人員可以在一些開發工具的支持下,實現拖拉式編輯操作,用戶只需要簡單的將 JSF 組件拖到頁面上,就可以很容易的進行 Web 開發了。這是其作為一種組件化的技術所具有的最大好處,我們能用的組件不光是一些比較簡單的輸入框之類,還有更多復雜的組件可以使用的,比如 DataTable 這樣的表格組件, Tree 這樣的樹形組件等等。在 Ajax 盛行的今天,我們也可以通過 JSF 組件來簡化開發人員的開發難度,使得 Ajax 能通過拖拖拉拉的操作方便的進入到我們的應用中去。作為一種標準的技術,JavaServer Faces 得到了相當多工具提供商的支持。同時我們也會有很多很好的免費開發工具可以使用,前不久 Sun Java Studio Creator 2 和 Oracle JDeveloper 10g 作為免費的支持 JSF 的開發工具發布,給 JSF 帶來了不小的生氣。另外我們也有一些很優秀的商業開發工具可共選擇,BEA Workshop (原 M7 NitroX),Exadel,MyEclipse 這樣的基于 Eclipse 的插件開發工具,為現在廣大的 Eclipse 用戶帶來了不小的便利,IBM 的 Rational Application Developer 和 Borland 的 JBuilder 也是很不錯的支持 JSF 可視化開發的商業開發工具,在后面我會用一節的篇幅簡單的介紹一下這些工具。
??? 傳統的 Web 應用程序與桌面應用程序存在著許多本質上的差別,使得用戶要手工的去捕獲各種瀏覽器請求,保存客戶端狀態,并且手工控制著頁面的轉向,等等。JSF 的出現,無疑給我們帶來了巨大的便利,JSF 提供了事件驅動的頁面導航模型,該模型使應用程序開發人員能夠設計應用程序的頁面流。與 Struts 的方式向類似的是,所有的頁面流信息都定義在 JSF 配置 XML 文件 (faces-config.xml) 中,而非硬編碼在應用程序中。這很大程度簡化了開發人員開發難度,簡化了應用程序的開發。
??? 同時JavaServer Faces 也是一種遵循遵循模型-視圖-控制器 (MVC) 模式的框架。實現了視圖代碼(View)與應用邏輯(Model)的完全分離,使得使用 JSF 技術的應用程序能夠很好的實現頁面與代碼的分離。所有對 JSF 頁面的請求都會通過一個前端控制器 (FacesServlet) 處理,系統自動處理用戶的請求,并將結果返回給用戶。這和傳統的 MVC 框架并沒有太大的區別。
??? JavaServer Faces 是一種使用了 POJO 的技術同時在使用了類似 Spring 的控制反轉(IoC) (或稱為依賴注入-DI) 技術,在 JSF 的 Backing Bean 中,我們可以把視圖所需要的數據和操作放進一個 Backing Bean 中。同時得益于 JSF 使用的 DI 技術,我們可以在配置文件中初始化 Managed Bean,同時我們也可以通過這樣的技術很方便的和使用類似技術的 Spring 進行整合。
posted on 2006-11-29 00:44
EricWong 閱讀(190)
評論(0) 編輯 收藏 所屬分類:
Java