服务器端使用DeferredResult异步推送技术
注意1:
org.springframework.web.context.request.async.DeferredResult;
是Spring4.0以后的版本才有的,注意Spring版本,然后添加Spring Springmvc的依赖
4.1.1.RELEASE
注意2:当出现如下异常时:
Async support must be enabled on a servlet and for all filters involved in async request processing.
This is done in Java code using the Servlet API or by adding "
to servlet and filter declarations in web.xml.
处理方式:
服务端接口:
@RequestMapping("/defer") @ResponseBody public DeferredResultdeferred(){ //其他用户通过客户端访问/feder来获取数据 SimpleDateFormat sd = new SimpleDateFormat("YYYY年-MM月-DD日 hh时: mm分 : ss秒"); String date = sd.format(new Date()); System.out.println(date); DeferredResult d = new DeferredResult (); d.setResult("***"+msgs); return d; }
String msgs; @RequestMapping("/getmsg") public void getmsg(String msg){ //一个用户何以使用/getmsg?msg=xxxxx,修改msgs的信息 System.out.println("msg is "+msg); msgs = msg; }
"msgFrompPush">msg: