最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring MVC4.1服務(wù)器端推送實(shí)現(xiàn)過程解析

 更新時間:2019年11月29日 09:51:18   投稿:yaominghui  
這篇文章主要介紹了Spring MVC4.1服務(wù)器端推送實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Spring MVC4.1服務(wù)器端推送實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

服務(wù)器端推送

  • SSE(server send event)是一種服務(wù)器端向?yàn)g覽器推送消息的技術(shù),而不是我們常規(guī)的瀏覽器像server請求然后響應(yīng);
  • 當(dāng)我們需要使用server向?yàn)g覽器主動推送數(shù)據(jù)的時候,請考慮使用該項(xiàng)技術(shù),而不是考慮具有雙向通訊功能的websocket;
  • 以前我們用ajax輪詢server也能實(shí)現(xiàn),服務(wù)器負(fù)擔(dān)大;
  • sse原理是向server請求一次后,server會掛住請求不放(此時瀏覽器里請求狀態(tài)是pending),等有數(shù)據(jù)后才返回給瀏覽器,然后再發(fā)起下一次請求,以此類推;
  • 所有主流瀏覽器均支持服務(wù)器發(fā)送事件,除了 Internet Explorer(6,7,8,9);

示例

服務(wù)器推送控制器

package com.wisely.web;

import java.util.Random;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class SSEController {
  //注意produces="text/event-stream"
  @RequestMapping(value="/push",produces="text/event-stream")
  public @ResponseBody String push(){
     Random r = new Random();
     try {
         Thread.sleep(5000);
     } catch (InterruptedException e) {
         e.printStackTrace();
     }
     return "data:Testing 1,2,3" + r.nextInt() +"\n\n";
  }
}

頁面代碼

<div id="msg_from_server"></div>
<script type="text/javascript" src="<c:url value="/js/jquery.js" />"></script>
<script type="text/javascript">
if (!!window.EventSource) {
    var source = new EventSource('push'); //為http://localhost:8080/testSpringMVC/push
    s='';
    source.addEventListener('message', function(e) {

      s+=e.data+"<br/>"
      $("#msg_from_server").html(s);

    });

    source.addEventListener('open', function(e) {
      console.log("連接打開.");
    }, false);

    source.addEventListener('error', function(e) {
      if (e.readyState == EventSource.CLOSED) {
        console.log("連接關(guān)閉");
      } else {
        console.log(e.readyState);  
      }
    }, false);
  } else {
      console.log("沒有sse");
  }
</script>

效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java接口RandomAccess全面了解

    Java接口RandomAccess全面了解

    下面小編就為大家?guī)硪黄狫ava接口RandomAccess全面了解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Java獲取視頻時長和封面截圖

    Java獲取視頻時長和封面截圖

    這篇文章主要為大家詳細(xì)介紹了如何使用Java獲取視頻時長和封面截圖功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • 通過web控制當(dāng)前的SpringBoot程序重新啟動

    通過web控制當(dāng)前的SpringBoot程序重新啟動

    本文主要給大家介紹了如何通過web控制當(dāng)前的SpringBoot程序重新啟動,文章給出了詳細(xì)的代碼示例供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • java實(shí)現(xiàn)酒店管理系統(tǒng)

    java實(shí)現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Java for each實(shí)現(xiàn)機(jī)制代碼原理解析

    Java for each實(shí)現(xiàn)機(jī)制代碼原理解析

    這篇文章主要介紹了Java for each實(shí)現(xiàn)機(jī)制代碼原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 詳解Zookeeper基礎(chǔ)知識

    詳解Zookeeper基礎(chǔ)知識

    本文主要講解了Zookeeper的基礎(chǔ)知識,ZooKeeper提供了一個通用協(xié)調(diào)模式實(shí)現(xiàn)方法的開源共享庫,使程序員免于寫這類通用的協(xié)議。關(guān)于Zookeeper更多相關(guān)知識,感興趣的小伙伴參考一下這篇文章
    2021-09-09
  • Java Scanner類用法及nextLine()產(chǎn)生的換行符問題實(shí)例分析

    Java Scanner類用法及nextLine()產(chǎn)生的換行符問題實(shí)例分析

    這篇文章主要介紹了Java Scanner類用法及nextLine()產(chǎn)生的換行符問題,結(jié)合實(shí)例形式分析了Scanner類功能、hasNextInt()和nextInt()方法使用及nextLine()產(chǎn)生的換行符問題解決方法,需要的朋友可以參考下
    2019-03-03
  • 深入理解Spring注解@Async解決異步調(diào)用問題

    深入理解Spring注解@Async解決異步調(diào)用問題

    這篇文章主要介紹了深入理解Spring注解@Async解決異步調(diào)用問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Spring Boot 3.x 集成 Eureka Server/Client的詳細(xì)過程

    Spring Boot 3.x 集成 Eureka Server/Cl

    隨著SpringBoot 3.x版本的開發(fā)嘗試,本文記錄了在集成Eureka Server/Client時所遇到的問題和解決方案,文中詳細(xì)介紹了搭建服務(wù)、配置文件和測試步驟,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 詳解SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能

    詳解SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能

    本文主要介紹了SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論

张家川| 布尔津县| 城市| 安西县| 平凉市| 南昌县| 翼城县| 桓仁| 开远市| 高平市| 綦江县| 浪卡子县| 福州市| 临洮县| 瑞昌市| 马关县| 武川县| 仙居县| 保靖县| 拉萨市| 贺州市| 余姚市| 祁阳县| 泊头市| 博白县| 固镇县| 宣城市| 肥城市| 甘肃省| 康乐县| 玉门市| 错那县| 左权县| 宣化县| 新乡市| 旬阳县| 海晏县| 城固县| 盐源县| 商南县| 双流县|