當前位置:名人名言大全網 - 經典說說 - AJAX,JSP,有人能完整解釋壹下具體意思嗎?

AJAX,JSP,有人能完整解釋壹下具體意思嗎?

AJAX被稱為“異步JavaScript和XML”(Asynchronous JavaScript and XML),指的是壹種用於創建交互式web應用的web開發技術。

主要包括以下技術。

Ajax(異步JavaScript+XML)的定義

基於web標準表示的XHTML+CSS表示;

使用DOM(文檔對象模型)進行動態顯示和交互;

使用XML和XSLT進行數據交換和相關操作;

使用XMLHttpRequest進行異步數據查詢和檢索;

使用JavaScript將所有內容綁定在壹起。見Ajax鼻祖傑西·詹姆斯·加勒特的原文。

與DHTML或LAMP類似,AJAX不是指單壹技術,而是有機地使用壹系列相關技術。事實上,壹些基於AJAX的“衍生/復合”技術正在興起,比如“AFLAX”。

AJAX的應用使用支持上述技術的web瀏覽器作為運行平臺。這些瀏覽器目前包括Mozilla、Firefox、Internet Explorer、Opera、Konqueror和Safari。但是Opera不支持XSL格式對象,也不支持XSLT。

與傳統的web應用相比

傳統的web應用程序允許用戶填寫表單,並在提交表單時向web服務器發送請求。服務器接收並處理傳入的表單,然後返回壹個新的網頁。這種做法浪費了大量的帶寬,因為前後頁的大部分HTML代碼往往是壹樣的。因為每個應用程序交互都需要向服務器發送請求,所以應用程序的響應時間取決於服務器的響應時間。這導致用戶界面的響應比本地應用程序慢得多。

與此不同,AJAX應用程序只能向服務器發送和檢索必要的數據。它使用SOAP或其他壹些基於XML的web服務接口,並在客戶端使用JavaScript來處理來自服務器的響應。因為服務器和瀏覽器之間交換的數據大大減少了,因此,我們可以看到更多響應迅速的應用程序。同時,大量的處理工作可以在發出請求的客戶機上完成,因此Web服務器的處理時間也減少了。

Ajax應用程序的優點是:

1.通過異步模式,提高用戶體驗。

2.優化瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少帶寬占用。

3.Ajax引擎運行在客戶端,承擔了原本由服務器承擔的壹部分工作,從而減輕了用戶數量龐大的服務器的負荷。

發展史

這項技術是在1998左右應用的。允許客戶端腳本發送HTTP請求(XMLHTTP)的第壹個組件是由Outlook Web Access團隊編寫的。該組件最初屬於Microsoft Exchange Server,並很快成為Internet Explorer 4.0的壹部分[3]。壹些觀察家認為,Outlook Web Access是第壹個使用Ajax技術的成功商業應用,它已經成為許多產品的領導者,包括Oddpost的webmail產品。但是,2005年初,很多事件讓Ajax被大眾接受。谷歌在其著名的交互式應用中使用異步通信,如谷歌討論組、谷歌地圖、谷歌搜索建議、Gmail等。Ajax壹詞是由Ajax:web應用程序的新方法壹文創造的。這篇文章的迅速傳播提高了人們使用這項技術的意識。此外,Mozilla/Gecko的支持使得技術更加成熟,更易於使用。

優點和缺點

使用Ajax最大的好處是可以維護數據而不用更新整個頁面。這使得Web應用程序能夠更快地響應用戶操作,並避免在網絡上發送未更改的信息。

Ajax不需要任何瀏覽器插件,但是需要用戶允許JavaScript在瀏覽器上執行。就像DHTML應用程序壹樣,Ajax應用程序必須在許多不同的瀏覽器和平臺上經過嚴格的測試。隨著Ajax的成熟,壹些簡化Ajax使用的庫相繼問世。類似地,另壹種輔助編程的技術也出現了,為不支持JavaScript的用戶提供了替代功能。

對Ajax應用程序的主要批評是,它可能會破壞瀏覽器後退按鈕的正常行為[4]。在動態更新頁面的情況下,用戶無法返回到之前的頁面狀態,因為瀏覽器只能在歷史中記錄靜態頁面。完全讀入的頁面和動態修改的頁面之間的區別非常微妙;用戶通常希望單擊後退按鈕來取消之前的操作,但是在Ajax應用程序中,這是無法做到的。然而,開發人員提出了各種方法來解決這個問題,大多數方法都是在用戶單擊後退按鈕訪問歷史記錄時,通過創建或使用隱藏的IFRAME來再現頁面上的更改。(例如,當用戶在Google Maps中點擊Back時,它會在壹個隱藏的IFRAME中進行搜索,然後將搜索結果反映在Ajax元素上,從而將應用程序狀態恢復到當前狀態。)

壹個相關的觀點是,使用動態頁面更新使得用戶很難將特定狀態保存到收藏夾。針對這壹問題的解決方案也已經出現,大多使用URL片段標識符(通常稱為錨點,即URL中#之後的部分)進行跟蹤,允許用戶返回到指定的應用狀態。(很多瀏覽器都允許JavaScript動態更新錨點,這使得Ajax應用在更新顯示內容的同時也能更新錨點。這些解決方案也解決了許多關於不支持後退按鈕的爭論。

開發Ajax時,需要仔細考慮網絡延遲——也就是用戶請求和服務器響應之間的間隔。沒有給用戶壹個明確的回應[5],缺乏適當的預讀數據[6],或者對XMLHttpRequest的處理不當[7]都會讓用戶有延遲的感覺,這是用戶不想看到的,也是他們無法理解的[8]。通常的解決方案是使用可視化組件來告訴用戶系統正在後臺運行並讀取數據和內容。

壹些手持設備(如手機、PDA等。)還不能很好的支持Ajax

帶JavaScript的Ajax引擎,JavaScript兼容性和調試都是讓人頭疼的問題;

Ajax的無刷新重載,由於頁面變化沒有刷新重載明顯,容易給用戶造成困擾——用戶不確定當前數據是新的還是更新的;現有的解決方案有:在相關位置提示,設計明顯的數據更新區域,數據更新後提示用戶等。

對流媒體的支持不如FLASH和Java小程序;

ASP是動態服務器頁面的縮寫:

主動服務器pags(簡稱ASP)包含在互聯網信息中。

服務器(IIS)提供了壹個服務器端腳本環境,用於生成和執行動態、交互式和高效的站點服務器應用程序。

妳不用擔心瀏覽器是否能執行妳設計的活動服務器頁面。您的站點服務器會自動將動態服務器頁面的代碼解釋為標準HTML格式的主頁內容,並顯示在發送給客戶端的瀏覽器上。客戶端可以通過使用能夠執行HTML代碼的常規瀏覽器來瀏覽由動態服務器頁面設計的主頁的內容。

Active Server Pages功能:

壹:無需編譯:易於生成,無需編譯或鏈接即可執行。

第二:使用常規的文本編輯器,如Windows記事本,妳可以設計它。

第三,瀏覽器獨立性:客戶端只要使用能執行HTML的常規瀏覽器,就可以瀏覽Active Server Pages設計的主頁內容。

腳本語言(VbScript,Jscript)在站點服務器(服務器端)執行,用戶不需要執行這些腳本語言。

四:面向對象。

第五,可以通過ActiveX服務器組件擴展功能。

ActiveX服務器組件可以用visual basic、Java、visual c++、cobol等語言實現。

六:Active Server Pages兼容任何AcTiveX腳本語言。除了VBscript或JScript語言,第三方提供的其他腳本語言,如REXX、perl、Tcl等。,可用於設計。腳本引擎是壹個處理腳本的COM(組件對象模型)對象。

七:Active server Pages的源代碼不會傳輸到用戶的瀏覽器中,因此可以保護辛苦編寫的源代碼不會溢出。傳遞給用戶瀏覽器的是活動服務器頁面執行結果的常規HTML代碼。

八:使用服務器端腳本生成客戶端腳本。您可以使用ASP代碼在站點服務器上執行腳本語言(VBscript或Jscript ),以生成或更改在客戶端執行的腳本語言。