<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        反向Ajax30分鐘快速掌握

        來源:懂視網 責編:小采 時間:2020-11-27 19:47:26
        文檔

        反向Ajax30分鐘快速掌握

        反向Ajax30分鐘快速掌握:這篇文章主要介紹了反向Ajax 30分鐘快速掌握的相關資料,需要的朋友可以參考下場景1:當有新郵件的時候,網頁自動彈出提示信息而無需用戶手動的刷新收件箱。場景2:當用戶的手機掃描完成頁面中的二維碼以后,頁面會自動跳轉。場景3:在類似聊天室的環境中有任
        推薦度:
        導讀反向Ajax30分鐘快速掌握:這篇文章主要介紹了反向Ajax 30分鐘快速掌握的相關資料,需要的朋友可以參考下場景1:當有新郵件的時候,網頁自動彈出提示信息而無需用戶手動的刷新收件箱。場景2:當用戶的手機掃描完成頁面中的二維碼以后,頁面會自動跳轉。場景3:在類似聊天室的環境中有任
        這篇文章主要介紹了反向Ajax 30分鐘快速掌握的相關資料,需要的朋友可以參考下

        場景1:當有新郵件的時候,網頁自動彈出提示信息而無需用戶手動的刷新收件箱。

        場景2:當用戶的手機掃描完成頁面中的二維碼以后,頁面會自動跳轉。

        場景3:在類似聊天室的環境中有任何人發言,所有登錄用戶都可以即時看見信息。

        與傳統的MVC模型請求必須從客戶端發起由服務器響應相比,使用反向Ajax能夠模擬服務器端主動向客戶端推送事件從而提高用戶體驗。本文將分兩個部分討論反向Ajax技術,包括:Comet和WebSocket。文章旨在演示如何實現以上兩種技術手段,Struts2或SpringMVC中的應用并未涉及。此外,Servlet的配置也采用注解的方式,相關知識大家可以參考其它資料。

        一、Comet(最佳的兼容手段)

        Comet本質上則是這樣的一種概念:能夠從服務器端向客戶端發送數據。在一個標準的 HTTP Ajax 請求中,數據是發送給服務器端的,反向 Ajax 以某些特定的方式來模擬發出一個 Ajax 請求,這樣的話,服務器就可以盡可能快地向客戶端發送事件。由于普通HTTP請求往往會伴隨頁面的跳轉,而推送事件則需要瀏覽器停留在同一個頁面或者框架下,因此Comet的實現只能夠通過Ajax來完成。

        它的實現過程如下:頁面加載的時候隨即向服務器發送一條Ajax請求,服務器端獲取請求并將它保存在一個線程安全的容器中(通常為隊列)。同時服務器端仍然可以正常響應其他請求。當需要推送的事件到來的時候,服務器遍歷容器中的請求在返回應答后刪除。于是所有停留在頁面中的瀏覽器都會獲得該應答,并再次發送Ajax請求,重復上述過程。

        我們注意到,由btn發送的請求其實并不需要獲取應答。整個過程的關鍵是需要客戶端始終讓服務器保持connect()的請求。而服務器端首先需要支持這種異步的響應方式,幸運的是目前為止絕大部分的Servlet容器都已經提供了良好的支持。下面以Tomcat為例:

        ConcurrentLinkedQueue是Queue隊列的一個線程安全實現,這里使用它來作為保存請求的容器。AsyncContext是Tomcat支持的異步環境,不同的服務器使用的對象也略有不同。Jetty支持的對象是Continuation。完成了廣播的請求需要通過context.complete()將相關請求結束,并使用CONNECTIONS.remove(context)刪除隊列。

        二、WebSocket(來自HTML5的支持)

        使用 HTTP 長輪詢的 Comet 是可靠地實現反向 Ajax 的最佳方式,因為現在所有瀏覽器都提供了這方面的支持。

        WebSockets 在 HTML5 中出現,是比 Comet 更新的反向 Ajax 技術。WebSockets 支持雙向、全雙工通信信道,而且許多瀏覽器(Firefox、Google Chrome 和 Safari)也支持它。連接通過 HTTP 請求(也稱為 WebSockets 握手)和一些特殊的標頭 (header)。連接一直處于激活狀態,您可以用 JavaScript 編寫和接收數據,正如您使用原始 TCP 套接字一樣。

        通過輸入 ws:// 或 wss://(在 SSL 上)啟動 WebSocket URL。如圖:

        首先:WebSockets并非在所有瀏覽器上都能獲得良好的支持,顯然IE又拖了后腿。因此當你打算使用這項技術之前必須考慮到用戶的使用環境,如果你的項目面向的是互聯網或者包括手機端用戶,奉勸大家三思。

        其次:WebSockets提供的請求區別于普通的HTTP請求,它是一種全雙工通信且始終處于激活狀態(如果你不去關閉它的話)。這就意味著你不用每次獲得應答后再次向服務器發送請求,這樣可以節約大量的資源。

        JQuery對WebSocket還未提供更良好的支持,因此我們必須使用Javascript來編寫部分代碼(好在并不復雜)。并且打部分常見的服務器都可以支持ws請求,以Tomcat為例。在6.0版本中WebSocketServlet對象已經被標注為@java.lang.Deprecated,7.0以后的版本支持jsr365提供的實現,因此你必須使用注解來完成相關配置。

        三、總結(從請求到推送)

        在傳統通信方案中,如果系統 A 需要系統 B 中的信息,它會向系統 B 發送一個請求。系統 B 將處理請求,而系統 A 會等待響應。處理完成后,會將響應發送回系統 A。在同步 通信模式下,資源使用效率比較低,這是因為等待響應時會浪費處理時間。

        在異步 模式下,系統 A 將訂閱它想從系統 B 中獲取的信息。然后,系統 A 可以向系統 B 發送一個通知,也可以立即返回信息,與此同時,系統 A 可以處理其他事務。這個步驟是可選的。在事件驅動應用程序中,通常不必請求其他系統發送事件,因為您不知道這些事件是什么。在系統 B 發布響應之后,系統 A 會立即收到該響應。

        Web 框架過去通常依賴傳統 “請求-響應” 模式,該模式會導致頁面刷新。隨著 Ajax、Reverse Ajax 以及 WebSocket 的出現,現在可以將事件驅動架構的概念輕松應用于 Web,獲得去耦合、可伸縮性和反應性 (reactivity) 等好處。更良好的用戶體驗也會帶來新的商業契機。

        上面是我整理給大家的,希望今后會對大家有幫助。

        相關文章:

        Ajax實現智能提示搜索功能

        Ajax請求成功后打開新窗口地址

        利用ajax實現異步刷新請求

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        反向Ajax30分鐘快速掌握

        反向Ajax30分鐘快速掌握:這篇文章主要介紹了反向Ajax 30分鐘快速掌握的相關資料,需要的朋友可以參考下場景1:當有新郵件的時候,網頁自動彈出提示信息而無需用戶手動的刷新收件箱。場景2:當用戶的手機掃描完成頁面中的二維碼以后,頁面會自動跳轉。場景3:在類似聊天室的環境中有任
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲视频免费一区| 日本免费高清一本视频| 久久亚洲高清观看| aaa毛片免费观看| 亚洲中文字幕无码爆乳av中文| 久久久久国产成人精品亚洲午夜| 国产AV无码专区亚洲AV麻豆丫| 又色又污又黄无遮挡的免费视 | 亚洲成年轻人电影网站www| 自拍偷自拍亚洲精品第1页| 夜夜爽妓女8888视频免费观看| 亚洲欧洲日产国码一级毛片| 在线观看免费无码视频| 在线观看亚洲免费视频| 亚洲av片在线观看| 中国亚洲女人69内射少妇| 野花香在线视频免费观看大全| 久久亚洲精品中文字幕无码| 57pao一国产成永久免费| 中文字幕亚洲无线码| 国产免费拔擦拔擦8X高清在线人| 久久久久亚洲av无码专区导航| 免费观看的毛片大全| 亚洲免费综合色在线视频| MM131亚洲国产美女久久| 国产精品视频白浆免费视频| 亚洲日韩乱码久久久久久| 日韩高清免费在线观看| 久久久久久久国产免费看| 久久亚洲AV成人出白浆无码国产| 国产一卡二卡3卡四卡免费 | 精品一区二区三区高清免费观看| 香蕉蕉亚亚洲aav综合| 最近免费中文字幕4| 久久精品成人免费国产片小草| 久久亚洲日韩看片无码| 国产传媒在线观看视频免费观看| 久久er国产精品免费观看2| 亚洲国产精品无码久久| 亚洲Aⅴ无码专区在线观看q| 在线免费观看国产视频|