隨筆-208  評論-469  文章-30  trackbacks-0

          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 閱讀(191) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 黄山市| 文登市| 利津县| 东宁县| 宽甸| 五常市| 泰州市| 蕲春县| 喜德县| 色达县| 禹城市| 分宜县| 克拉玛依市| 衡阳县| 桐城市| 定西市| 锡林浩特市| 大埔区| 娄底市| 锦州市| 沅陵县| 耿马| 扎鲁特旗| 聂荣县| 图们市| 淅川县| 饶平县| 铜梁县| 墨脱县| 秦安县| 沿河| 正定县| 洮南市| 龙江县| 杭锦旗| 望江县| 中卫市| 合川市| 安吉县| 阿图什市| 四川省|