您好,登錄后才能下訂單哦!
這篇文章主要介紹了Ajax和JSF如何使用Rational Application Developer V7實現Web應用程序,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Ajax 的優勢和缺點
雖然不是什么革新性創新,Ajax 技術在近兩年變得非常流行。大量主要 Web 站點(例如 Google、Yahoo!、 Amazon 和 Netflix)使用這一技術來改善它們網站用戶的訪問體驗。事實上,改進用戶體驗正是 Ajax 要做的。
在過去十年的 Web 應用程序開發中,用戶與瀏覽器間和瀏覽器與服務器間的交互是明確界定及顯而易見的:用戶在瀏覽器內瀏覽網頁,執行操作(從上下文菜單中選擇內容,或者選擇一些復選框),之后通過點擊鏈接或提交按鈕指導瀏覽器與服務器通信。瀏覽器給服務器發送請求并傳遞用戶輸入。服務器處理請求并返回響應,返回的可能是更新的頁面或是相同的頁面,總之進行了更新。
這樣的 Web 應用程序現在被稱為 Web 1.0。 從用戶體驗的觀點來看,它們具有兩條缺陷:
◆瀏覽器和服務器的交互只能由頁面中有限的控件發起——常常是鏈接和按鈕。這樣就不能在用戶選擇了復選框(check box)或在組合框(combo box)后迅速通知服務器。
◆瀏覽器和服務器的這種交互所造成的后果就是需要更新整個瀏覽器窗口。這種情況通常很慢,頁面更新往往需要用戶等待很長時間。更壞的是,當同一頁面被重新加載或重新刷新時,經常會在瀏覽器窗口中閃爍。
新一代被稱為 Web 2.0 的 Web 應用程序通過利用 Ajax 技術彌補了這些缺點(也作AJAX,即 Asynchronous JavaScript and XML,異步的 JavaScript 與 XML)。在 Ajax 中,瀏覽器和服務器的交互發生在后臺,用戶將不會覺察。而且它比普通的“瀏覽器 - 服務器”交互更具針對性,僅僅需要將頁面的子集發送給服務器,并且服務器僅僅返回所需更新的子集頁面。這種方式所帶來的結果就是,瀏覽器和服務器間的通信可被任何事件初始化,例如在組合框或復選框中進行選擇,或鼠標指針停留事件等。這樣帶來了很大好處:
◆通信更加迅速,因為傳遞的數據更少。
◆用戶停留在同一頁面,因為不再需要過多的頁面間導航。
◆重新加載的頁面不會閃爍,因為僅僅是頁面中的一小部分依據 Ajax 請求更新。
Ajax 背后的想法十分簡單:在瀏覽器中監聽事件,給服務器發送后臺請求,當服務器響應時更新頁面的一部分。但是實現過程是非常復雜的。它需要 JavaScript?,客戶端-服務端通信協議,和服務端代碼的深層知識。不同瀏覽器版本間的區別使得開發與調試更加困難。但是,IBM® Rational® Application Developer Version 7 提供了所有開發 Ajax Web 應用程序所需的工具,而 不必 實現所有底層細節。
Rational Application Developer V7 提供了:
◆擴展的 JSF 允許在 JavaServer? Framework (JSF)中處理 Ajax 請求
◆一個可以在所有***版本的主流瀏覽器中初始化 Ajax 請求,并在服務器端響應僅對部分頁面進行更新的 JavaScript? 程序庫
Rational Application Developer V7中 Ajax和JSF 實現的技術細節超出了本文的范圍,但是讓我們來看看您如何使用這些技術。
如何用JSF組件應用Ajax
為 JSF 頁面增加 Ajax 需要四個步驟:
1. 識別由 Ajax 請求更新的頁面區域。 在 Rational Application Developer V7中, 您可以在幾乎任何面板組件的內容中使用 Ajax。面板包括了從簡單的容器,例如 <h:panelGroup> 和 <h:panelGrid>,到特性豐富的面板,例如菜單 (<hx:panelMenu>) 和對話框(<hx:panelDialog>)。
2. 選擇所使用的 Ajax 請求類型。 Rational Application Developer V7 JSF 庫支持三種 Ajax 請求:
◆對于同一頁面的 GET 請求 (<hx:ajaxRefreshRequest>)
◆對于同一頁面的 POST 請求 (<hx:ajaxSubmitRequest>)
◆對其他頁面的 GET 請求 (<hx:ajaxExternalRequest>)
3. 應用 Ajax 請求配置傳遞給服務器的參數。
◆對于 GET 請求,您可以傳遞頁面中不同輸入欄的值。
◆對于 POST 請求, 提交全部表格。
4. 識別初始化 Ajax 請求的事件。 它可以是任何的客戶端 JavaScript 事件,例如按鈕的 onclick , 輸入欄的 onblur, 或復選框的 onchange 。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Ajax和JSF如何使用Rational Application Developer V7實現Web應用程序”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。