<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年2月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627281234
    567891011

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414037
    • 排名 - 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 悶炮
    樓主辛苦了!!!  回復  更多評論
      
    # 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.以后多發點這樣的文章
      回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: ww在线观视频免费观看w| 又长又大又粗又硬3p免费视频| 免费福利在线视频| 久久aa毛片免费播放嗯啊| 免费视频中文字幕| 亚洲午夜精品一级在线播放放| 亚洲情a成黄在线观看动漫尤物| a在线视频免费观看在线视频三区 a毛片成人免费全部播放 | 国产AV无码专区亚洲AV漫画| 亚洲特级aaaaaa毛片| 免费看黄网站在线看| 亚洲国产成人五月综合网| 欧洲精品码一区二区三区免费看| 亚洲午夜精品久久久久久浪潮| 中文在线观看永久免费| 亚洲va久久久噜噜噜久久狠狠| 97视频免费观看2区| 亚洲视频欧洲视频| 成熟女人特级毛片www免费| 亚洲中文字幕丝袜制服一区| 99久久99这里只有免费的精品| 亚洲AV无码成人精品区天堂 | 亚洲一区二区电影| 一级毛片a女人刺激视频免费| 亚洲欧洲∨国产一区二区三区| 久久99精品免费视频| 亚洲成a人片在线观看精品| 国产免费人成视频在线观看| www免费黄色网| 67pao强力打造67194在线午夜亚洲 | 久久精品亚洲AV久久久无码| 亚洲精品免费在线观看| 亚洲人成网站色在线观看| 久久久久亚洲AV成人网人人网站| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 午夜无码A级毛片免费视频| 亚洲а∨天堂久久精品9966| 中文字幕亚洲乱码熟女一区二区| 在免费jizzjizz在线播| 色九月亚洲综合网| 免费无码黄动漫在线观看|