<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)

    搜索

    •  

    積分與排名

    • 積分 - 415172
    • 排名 - 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 閱讀(2944) 評論(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.以后多發點這樣的文章
      回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 国产AV无码专区亚洲AV漫画| 97久久精品亚洲中文字幕无码| 精品一区二区三区免费毛片爱| MM1313亚洲国产精品| 青青草原精品国产亚洲av| 亚洲五月午夜免费在线视频| 大地资源免费更新在线播放| 亚洲精品免费在线观看| 国产产在线精品亚洲AAVV| 2020国产精品亚洲综合网| 亚洲制服中文字幕第一区| 中文亚洲AV片不卡在线观看| 四虎永久免费地址在线网站| 91网站免费观看| 91免费福利精品国产| 大地资源网高清在线观看免费| 无码精品人妻一区二区三区免费 | 成年免费a级毛片免费看无码| 青青青免费国产在线视频小草| a毛看片免费观看视频| yellow免费网站| 免费夜色污私人影院网站| 国内成人精品亚洲日本语音| 亚洲爆乳大丰满无码专区| 91在线亚洲综合在线| 亚洲国产日韩视频观看| 亚洲五月综合缴情婷婷| 亚洲国产最大av| 亚洲人xxx日本人18| 国产成人亚洲合集青青草原精品| 亚洲伊人色一综合网| 亚洲香蕉在线观看| 亚洲三级高清免费| 亚洲国产综合AV在线观看| 亚洲精品无码永久在线观看男男 | 国产在线观看麻豆91精品免费 | 亚洲国产精品一区二区成人片国内 | 免费国内精品久久久久影院| 久久成人免费大片| APP在线免费观看视频| 久久免费线看线看|