資源描述:
《基于j2ee的ajax技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、序言Ajax技術(shù)是2006年最熱門的技術(shù),無論說它是對(duì)傳統(tǒng)web技術(shù)的改進(jìn)還是革命,其實(shí)質(zhì)都是:它具有很強(qiáng)的生命力,確實(shí)代表了未來web應(yīng)用開發(fā)的趨勢(shì)。也許Ajax并不是唯一的選擇,但Ajax的功能是大家有目共睹的。不過,Ajax不是一門獨(dú)立的技術(shù),單純的AJAX技術(shù)沒有任何用處。說穿了Ajax僅僅致力于改善用戶體驗(yàn),也就是說它是表現(xiàn)層的技術(shù)離開了傳統(tǒng)web應(yīng)用的支持,Ajax技術(shù)便會(huì)成為“無本之木,無源之水”。作為J2EE開發(fā)人員,我們似乎經(jīng)常關(guān)注“后端機(jī)制(backendmechanics)”。我們通常會(huì)忘記,J2EE的主要成功之處在Web應(yīng)用程序方面;
2、許多原因使得人們喜歡利用Web開發(fā)應(yīng)用程序,但主要還是因?yàn)槠湟子诓渴鸬奶攸c(diǎn)允許站點(diǎn)以盡可能低的成本擁有上百萬的用戶。遺憾的是,在過去幾年中,我們?cè)诤蠖送度肓颂嗟臅r(shí)間,而在使我們的Web用戶界面對(duì)用戶自然和響應(yīng)靈敏方面卻投入不足?! ”窘滩慕榻B一種方法,Ajax,使用它可以構(gòu)建更為動(dòng)態(tài)和響應(yīng)更靈敏的Web應(yīng)用程序。該方法的關(guān)鍵在于對(duì)瀏覽器端的JavaScript、DHTML和與服務(wù)器異步通信的組合。這種強(qiáng)大的力量可以使應(yīng)用程序更加自然和響應(yīng)靈敏,從而提升用戶的瀏覽體驗(yàn)。簡(jiǎn)介術(shù)語(yǔ)Ajax用來描述一組技術(shù),它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。在Ajax之
3、前,Web站點(diǎn)強(qiáng)制用戶進(jìn)入提交/等待/重新顯示范例,用戶的動(dòng)作總是與服務(wù)器的“思考時(shí)間”同步。Ajax提供與服務(wù)器異步通信的能力,從而使用戶從請(qǐng)求/響應(yīng)的循環(huán)中解脫出來。借助于Ajax,可以在用戶單擊按鈕時(shí),使用JavaScript和DHTML立即更新UI,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫(kù)。當(dāng)請(qǐng)求返回時(shí),就可以使用JavaScript和CSS來相應(yīng)地更新UI,而不是刷新整個(gè)頁(yè)面。最重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信:Web站點(diǎn)看起來是即時(shí)響應(yīng)的?!‰m然Ajax所需的基礎(chǔ)架構(gòu)已經(jīng)出現(xiàn)了一段時(shí)間,但直到最近異步請(qǐng)求的真正威力才得到利用。
4、能夠擁有一個(gè)響應(yīng)極其靈敏的Web站點(diǎn)確實(shí)激動(dòng)人心,因?yàn)樗罱K允許開發(fā)人員和設(shè)計(jì)人員使用標(biāo)準(zhǔn)的HTML/CSS/JavaScript堆棧創(chuàng)建“桌面風(fēng)格的(desktop-like)”可用性。通常,在J2EE中,開發(fā)人員過于關(guān)注服務(wù)和持久性層的開發(fā),以至于用戶界面的可用性已經(jīng)落后。定義Ajax一、AJAX定義(Dwr框架)原始AJAX缺點(diǎn):瀏覽器不兼容 AJAX(AsynchronousJavaScriptandXML)其實(shí)是多種技術(shù)的綜合,包括Javascript、XHTML和CSS(標(biāo)準(zhǔn)化實(shí)現(xiàn))、DOM(解析器)、XML和XSTL、XMLHttpReque
5、st:異步請(qǐng)求(回調(diào)函數(shù))只刷新數(shù)據(jù)不刷新整個(gè)頁(yè)面。其中: 使用XHTML和CSS標(biāo)準(zhǔn)化呈現(xiàn),使用DOM實(shí)現(xiàn)動(dòng)態(tài)顯示和交互,使用XML和XSTL進(jìn)行數(shù)據(jù)交換與處理,使用XMLHttpRequest對(duì)象進(jìn)行異步數(shù)據(jù)讀取,使用Javascript綁定和處理所有數(shù)據(jù)?! ≡贏JAX提出之前,業(yè)界對(duì)于上述技術(shù)都只是單獨(dú)的使用,沒有綜合使用,也是由于之前的技術(shù)需求所決定的。隨著應(yīng)用的廣泛,AJAX也成為香餑餑了?! daptivePath公司的JesseJamesGarrett這樣定義Ajax: Ajax不是一種技術(shù)。實(shí)際上,它由幾種蓬勃發(fā)展的技術(shù)以新的強(qiáng)大方式
6、組合而成。Ajax包含:·基于XHTML和CSS標(biāo)準(zhǔn)的表示;·使用DocumentObjectModel進(jìn)行動(dòng)態(tài)顯示和交互;·使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;·使用JavaScript綁定一切?! ∵@非常好,但為什么要以Ajax命名呢?其實(shí)術(shù)語(yǔ)Ajax是由JesseJamesGarrett創(chuàng)造的,他說它是“AsynchronousJavaScript+XML的簡(jiǎn)寫”。Ajax的工作原理 Ajax的核心是JavaScript對(duì)象XmlHttpRequest。該對(duì)象在InternetExplorer5中首次引入,它是一種支持異步請(qǐng)求的技術(shù)
7、。簡(jiǎn)而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不阻塞用戶。 在創(chuàng)建Web站點(diǎn)時(shí),在客戶端執(zhí)行屏幕更新為用戶提供了很大的靈活性。下面是使用Ajax可以完成的功能:·動(dòng)態(tài)更新購(gòu)物車的物品總數(shù),無需用戶單擊Update并等待服務(wù)器重新發(fā)送整個(gè)頁(yè)面?!ぬ嵘军c(diǎn)的性能,這是通過減少?gòu)姆?wù)器下載的數(shù)據(jù)量而實(shí)現(xiàn)的。例如,在Amazon的購(gòu)物車頁(yè)面,當(dāng)更新籃子中的一項(xiàng)物品的數(shù)量時(shí),會(huì)重新載入整個(gè)頁(yè)面,這必須下載32K的數(shù)據(jù)。如果使用Ajax計(jì)算新的總量,服務(wù)器只會(huì)返回新的總量值,因此所需的帶寬僅為原來的百分之一?!は?/p>
8、除了每次用戶輸入時(shí)的頁(yè)面刷新。例如,在Ajax中,如