<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 413983
    • 排名 - 135

    最新評論

    閱讀排行榜

        在后面的時間里,我會陸續的把我在 JSF 學習過程中的一些心得體會以及一些值得參考的代碼拿出來,整理成 JSF Cookbook 系列,并逐步發布出來。當然在整理的過程中因為個人能力有限,難免會出現錯誤和遺漏,請高手多多指點,謝謝。只希望這些資料對大家學習JSF帶來一些便利。因為個人時間有限,速度可能會有些慢,請大家原諒,也希望有興趣的朋友也能投入到資料的編寫過程中來。
        該資料編寫工作在我的論壇 http://www.js66.com/java 中進行,通常情況下我會在論壇中編寫一定的數量的資料后,集中在這里發布,可能會有些延期,所以如果大家希望看最新版的資料,請到我的論壇來,如果你有這方面的疑問也可以到這里來尋求解答。

    1.什么是 JavaServer Faces

    問題:
    你對JSF不了解,希望了解更多關于JSF的資料。

    解決:
        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 進行整合。


    2.下載 JSF 的實現版本

    問題:
    你需要使用 JSF 來開發應用程序。

    解決:
        因為 JSF 1.1 是一個標準(JSR-127),所以會有一些不同的廠商和組織提供了自己的實現,目前比較流行的實現包括 Sun 的 Reference Implementation (參考實現,簡稱為 RI) ,Apache 軟件基金會的 Myfaces, Oracle 的 ADF Faces (目前 Oracle 已經將其捐贈給 Apache 軟件基金會下的 Myfaces 項目,成為它的一個子項目)。
        分別提供了以上這些實現的下載地址,大家可以去下載 JSF 的實現版本,我們會在后面的介紹中用到這些包。

        Sun RI : http://java.sun.com/j2ee/javaserverfaces/
        Myfaces : http://myfaces.apache.org/
        ADF Faces : http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/jsf/index.html

    討論:
        因為 JSF 有了這么多種類的實現版本,大家或許會覺得有些疑惑,我該到底用哪個版本去開發呢?在我現在和以后的文章系列里面,我將會以 Apache Myfaces 1.1.1 的實現版本為例,來介紹 JSF 技術。

        Struts 社區為了擴展 JSF,推出了 Shale 子項目,目的是為 JSF 提供大量的應用支持,它以 JSF 的實現為基礎,提供了一系列方便易用的特性,包括有:Web Flow,Ajax,Tiles 的集成,客戶端驗證,并且提供了類似于 Tapestry 的視圖和參數化的 SubTree 模型。雖然 Shale 到目前為之還沒有一個正式發布的版本,但它在 2005 年 JavaOne 的 Web 框架評比中,在技術特性的評比中獲得了 4.95 的高分,超越 JSF, Tapestry, Webwork, Struts 而獨占鰲頭。但是相信我們除了 JSF 標準外,很快會有這樣一個更好的選擇了。

        記住,Shale 不是 JSF,而是對 JSF 的擴展,也正如 Struts 的創始人 Craig McClanahan 所說的“Shale 與 JSF 的關系,就像 Struts 與 JSP 的關系一樣”。

    [Last Update 2006-01-17]

    posted on 2006-02-17 15:41 steady 閱讀(2941) 評論(8)  編輯  收藏

    FeedBack:
    # re: JSF Cookbook (1) 2006-02-17 19:12 一天一點愛戀
    謝謝,辛苦了!  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-02-24 17:34 revever
    期待下一片文章  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-03-06 10:45 JSF fans
    關注中!記得要堅持更新哦,樓主??!  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-03-09 16:39 悶炮
    樓主辛苦了?。。?nbsp; 回復  更多評論
      
    # re: JSF Cookbook (1) 2006-04-12 10:08 郭文濤
    厲害 期待中 學習中  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-09-16 09:54 lantian
    JSF開發中控件是一方面,更主要的請求處理過程生命周期的各個階段作了哪些事情,建議大家熟讀規范以深刻理解JSF。  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-09-16 14:05 壞男孩
    jsf是web程序發展的一大趨勢!關注  回復  更多評論
      
    # re: JSF Cookbook (1) 2006-10-20 13:52 zzz
    好的很好,我也是SUN公司的FANS.以后多發點這樣的文章
      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧洲专线一区| 国产成人精品日本亚洲18图| 国产成人综合亚洲绿色| 成人午夜视频免费| 亚洲首页国产精品丝袜| 99在线视频免费观看视频| 亚洲av永久无码嘿嘿嘿| 成人网站免费观看| 亚洲一日韩欧美中文字幕在线| 好爽又高潮了毛片免费下载 | 在线免费播放一级毛片| 国产成人亚洲精品影院| 久久久受www免费人成| 亚洲av无码一区二区三区网站| 成人无码a级毛片免费| 色拍自拍亚洲综合图区| 老司机在线免费视频| 亚洲综合激情五月色一区| 国产精品成人四虎免费视频| 免费精品视频在线| 亚洲一区二区三区在线观看精品中文 | 亚洲爆乳无码专区www| 免费国产综合视频在线看| 二区久久国产乱子伦免费精品| 国产亚洲精品自在久久| 亚洲精品在线免费看| 亚洲另类无码一区二区三区| 免费国产小视频在线观看| 国产午夜无码片免费| 亚洲日韩中文字幕天堂不卡| 处破痛哭A√18成年片免费| 一级做a爰片久久毛片免费陪| 国产成人亚洲精品青草天美| 和日本免费不卡在线v| 日韩大片免费观看视频播放| 久久久久亚洲精品天堂| 国产青草视频在线观看免费影院| 精品一区二区三区高清免费观看| 亚洲电影在线播放| 亚洲精品尤物yw在线影院| 毛片免费全部播放无码 |