一 点睛
服务器推送技术在日常开发中较为常用。
SSE:Server send Event:服务端发送事件。
本项目推送技术是基于:当客户端向服务端发送请求,服务端会抓住这个请求不放,等有数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。这种方式的好处是减少了服务器的请求数量,大大减少了服务器的压力。
二 实战
1 控制器
package com.wisely.highlight_springmvc4.web.ch4_5;
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 {
//这里使用输出的媒体类型为text/event-stream,这是服务端的SSE的支持
@RequestMapping(value="/push",produces="text/event-stream")
public @ResponseBody String push(){
Random r = new Random();
try {
//演示每5秒向浏览器推送随机消息
Thread.sleep(5000);
} catch (I