自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ajax和JSF使用Rational Application Developer V7輕松實(shí)現(xiàn)Web應(yīng)用程序

開發(fā) 后端
本文介紹Ajax和JSF使用Rational Application Developer V7輕松實(shí)現(xiàn)Web應(yīng)用程序,包括介紹Ajax的優(yōu)勢(shì)和缺點(diǎn)。

Ajax和JSF是當(dāng)今互聯(lián)網(wǎng)上***的技術(shù),Ajax被稱作 Web 2.0 的基石。不幸的是,創(chuàng)建 Ajax 應(yīng)用程序并不容易,尤其是當(dāng)您需要與其他框架融合時(shí),例如 JavaServer™ Framework (JSF)。幸運(yùn)的是,IBM Rational Application Developer V7 為 JSF 組件提供了 Ajax 功能,這一功能使得這樣的任務(wù)變得簡(jiǎn)單。本文介紹了如何在 IBM Rational Application Developer V7 中使用 Ajax和JSF 以降低任務(wù)的難度,并通過一個(gè)例子示范如何在現(xiàn)存的應(yīng)用程序中增加 Ajax 支持。

Ajax 的優(yōu)勢(shì)和缺點(diǎn)

雖然不是什么革新性創(chuàng)新,Ajax 技術(shù)在近兩年變得非常流行。大量主要 Web 站點(diǎn)(例如 Google、Yahoo!、 Amazon 和 Netflix)使用這一技術(shù)來改善它們網(wǎng)站用戶的訪問體驗(yàn)。事實(shí)上,改進(jìn)用戶體驗(yàn)正是 Ajax 要做的。

在過去十年的 Web 應(yīng)用程序開發(fā)中,用戶與瀏覽器間和瀏覽器與服務(wù)器間的交互是明確界定及顯而易見的:用戶在瀏覽器內(nèi)瀏覽網(wǎng)頁(yè),執(zhí)行操作(從上下文菜單中選擇內(nèi)容,或者選擇一些復(fù)選框),之后通過點(diǎn)擊鏈接或提交按鈕指導(dǎo)瀏覽器與服務(wù)器通信。瀏覽器給服務(wù)器發(fā)送請(qǐng)求并傳遞用戶輸入。服務(wù)器處理請(qǐng)求并返回響應(yīng),返回的可能是更新的頁(yè)面或是相同的頁(yè)面,總之進(jìn)行了更新。

這樣的 Web 應(yīng)用程序現(xiàn)在被稱為 Web 1.0。 從用戶體驗(yàn)的觀點(diǎn)來看,它們具有兩條缺陷:
◆瀏覽器和服務(wù)器的交互只能由頁(yè)面中有限的控件發(fā)起——常常是鏈接和按鈕。這樣就不能在用戶選擇了復(fù)選框(check box)或在組合框(combo box)后迅速通知服務(wù)器。
◆瀏覽器和服務(wù)器的這種交互所造成的后果就是需要更新整個(gè)瀏覽器窗口。這種情況通常很慢,頁(yè)面更新往往需要用戶等待很長(zhǎng)時(shí)間。更壞的是,當(dāng)同一頁(yè)面被重新加載或重新刷新時(shí),經(jīng)常會(huì)在瀏覽器窗口中閃爍。

新一代被稱為 Web 2.0 的 Web 應(yīng)用程序通過利用 Ajax 技術(shù)彌補(bǔ)了這些缺點(diǎn)(也作AJAX,即 Asynchronous JavaScript and XML,異步的 JavaScript 與 XML)。在 Ajax 中,瀏覽器和服務(wù)器的交互發(fā)生在后臺(tái),用戶將不會(huì)覺察。而且它比普通的“瀏覽器 - 服務(wù)器”交互更具針對(duì)性,僅僅需要將頁(yè)面的子集發(fā)送給服務(wù)器,并且服務(wù)器僅僅返回所需更新的子集頁(yè)面。這種方式所帶來的結(jié)果就是,瀏覽器和服務(wù)器間的通信可被任何事件初始化,例如在組合框或復(fù)選框中進(jìn)行選擇,或鼠標(biāo)指針停留事件等。這樣帶來了很大好處:
◆通信更加迅速,因?yàn)閭鬟f的數(shù)據(jù)更少。
◆用戶停留在同一頁(yè)面,因?yàn)椴辉傩枰^多的頁(yè)面間導(dǎo)航。
◆重新加載的頁(yè)面不會(huì)閃爍,因?yàn)閮H僅是頁(yè)面中的一小部分依據(jù) Ajax 請(qǐng)求更新。

Ajax 背后的想法十分簡(jiǎn)單:在瀏覽器中監(jiān)聽事件,給服務(wù)器發(fā)送后臺(tái)請(qǐng)求,當(dāng)服務(wù)器響應(yīng)時(shí)更新頁(yè)面的一部分。但是實(shí)現(xiàn)過程是非常復(fù)雜的。它需要 JavaScript™,客戶端-服務(wù)端通信協(xié)議,和服務(wù)端代碼的深層知識(shí)。不同瀏覽器版本間的區(qū)別使得開發(fā)與調(diào)試更加困難。但是,IBM® Rational® Application Developer Version 7 提供了所有開發(fā) Ajax Web 應(yīng)用程序所需的工具,而 不必 實(shí)現(xiàn)所有底層細(xì)節(jié)。

Rational Application Developer V7 提供了:
◆擴(kuò)展的 JSF 允許在 JavaServer™ Framework (JSF)中處理 Ajax 請(qǐng)求
◆一個(gè)可以在所有***版本的主流瀏覽器中初始化 Ajax 請(qǐng)求,并在服務(wù)器端響應(yīng)僅對(duì)部分頁(yè)面進(jìn)行更新的 JavaScript™ 程序庫(kù)

Rational Application Developer V7中 Ajax和JSF 實(shí)現(xiàn)的技術(shù)細(xì)節(jié)超出了本文的范圍,但是讓我們來看看您如何使用這些技術(shù)。

如何用JSF組件應(yīng)用Ajax

為 JSF 頁(yè)面增加 Ajax 需要四個(gè)步驟:

1. 識(shí)別由 Ajax 請(qǐng)求更新的頁(yè)面區(qū)域。 在 Rational Application Developer V7中, 您可以在幾乎任何面板組件的內(nèi)容中使用 Ajax。面板包括了從簡(jiǎn)單的容器,例如 <h:panelGroup> 和 <h:panelGrid>,到特性豐富的面板,例如菜單 (<hx:panelMenu>) 和對(duì)話框(<hx:panelDialog>)。

2. 選擇所使用的 Ajax 請(qǐng)求類型。 Rational Application Developer V7 JSF 庫(kù)支持三種 Ajax 請(qǐng)求:
◆對(duì)于同一頁(yè)面的 GET 請(qǐng)求 (<hx:ajaxRefreshRequest>)
◆對(duì)于同一頁(yè)面的 POST 請(qǐng)求 (<hx:ajaxSubmitRequest>)
◆對(duì)其他頁(yè)面的 GET 請(qǐng)求 (<hx:ajaxExternalRequest>)

3. 應(yīng)用 Ajax 請(qǐng)求配置傳遞給服務(wù)器的參數(shù)。
◆對(duì)于 GET 請(qǐng)求,您可以傳遞頁(yè)面中不同輸入欄的值。
◆對(duì)于 POST 請(qǐng)求, 提交全部表格。

4. 識(shí)別初始化 Ajax 請(qǐng)求的事件。 它可以是任何的客戶端 JavaScript 事件,例如按鈕的 onclick , 輸入欄的 onblur, 或復(fù)選框的 onchange 。

【編輯推薦】

  1. JSF的技術(shù)與組件
  2. 學(xué)習(xí)JSF程序入門
  3. Ajax優(yōu)于JSF的幾個(gè)原因討論
  4. JSF開發(fā)問題和解決
  5. Java學(xué)習(xí)筆記-JSF
責(zé)任編輯:佚名 來源: cnblogs
相關(guān)推薦

2011-03-28 10:56:12

ibmdwRational

2009-06-14 22:25:55

ibmdwWebSphere

2009-06-29 14:19:50

2009-09-22 12:59:07

ibmdwWeb

2012-07-18 11:29:32

ibmdw

2009-06-14 22:22:02

ibmdwWebSphere

2009-09-22 12:22:54

ibmdwLotus

2009-06-24 10:34:39

JSF生命周期JSF應(yīng)用程序

2015-04-02 11:22:29

2009-07-14 16:40:31

MyEclipse開發(fā)

2009-08-27 11:40:43

ibmdw云計(jì)算

2010-06-13 09:22:37

jQuery

2009-06-23 16:52:16

JSFHibernateWeb應(yīng)用

2009-08-14 17:08:00

Android應(yīng)用程序

2010-12-31 15:29:54

Web應(yīng)用程序

2011-08-22 09:59:16

2009-01-03 14:25:10

ibmdwWeb

2021-09-07 10:24:36

Vue應(yīng)用程序Web Workers

2011-10-19 13:47:57

ibmdwRationalWAS

2010-05-20 09:48:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)