HTML 5 服务器发送事件 java实例

页面代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>HTML 5 服务器发送事件</title>

	</head>

	<body>
				<h1>获得服务器更新</h1>
				<div id="result"></div>

				<script>
				if(typeof(EventSource)!=="undefined")
				  {
						  var source=new EventSource("/test/getDate.json");
						  source.onopen = function(){
							  
						  }
						  source.onmessage=function(event) {

						    	document.getElementById("result").innerHTML+=event.data + "<br />";
						   };
				  }else{
				  		document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
				  }
				</script>
	</body>
</html>

后台java代码:

@RequestMapping("getDate.json")  
	public void getDate(HttpServletResponse response){

		    Date date = new Date();
		    OutputStream bos = null;
	        try {
	        	String result = "data:"+date.getTime()+"\n\n";
				bos = new BufferedOutputStream(response.getOutputStream());
		        response.setContentType("text/event-stream");
		        response.setStatus(HttpServletResponse.SC_OK);
		        response.setCharacterEncoding(Charset.forName("UTF-8").name());
		        response.addHeader("Connection", "close");
		        bos.write(result.getBytes());
		        bos.flush();
			} catch (IOException e) {
				e.printStackTrace();
			}finally{
				try {
					bos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
	    
	}

时间: 2024-10-04 23:35:19

HTML 5 服务器发送事件 java实例的相关文章

HTML5支持服务器发送事件(Server-Sent Events)-单向消息传递数据推送(C#示例)

传统的WEB应用程序通信时的简单时序图: 现在Web App中,大都有Ajax,是这样子: HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据推送).基于数据推送是这样的,当数据源有新数据,它马上发送到客户端,不需要等待客户端请求.这些新数据可能是最新闻,最新股票行情,来自朋友的聊天信息,天气预报等. 数据拉与推的功能是一样的,用户拿到新数据.但数据推送有一些优势. 你可能听说过Comet, Ajax推送, 反向Ajax, HTTP流,W

SSE:服务器发送事件,使用长链接进行通讯

概述 传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据.比如,每当收到新的电子邮件,服务器就向浏览器发送一个“通知”,这要比浏览器按时向服务器查询(polling)更有效率. 服务器发送事件(Server-Sent Events,简称SSE)就是为了解决这个问题,而提出的一种新API,部署在EventSource对象上.目前,除了IE,其他主流浏览器都支持. 简单说,所谓SSE,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推

HTML5服务器发送事件(Server-Send Events)

HTML5服务器发送事件是允许获得来自服务器的更新. server-sent事件-单向传递消息,表示网页自动获取来自服务器的更新. 其中有一个重要的对象,eventsource对象是用来接收服务器发送事件的通知. 实例: <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> &l

HTML 5 服务器发送事件、Input 类型、表单元素、表单属性

HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. 例子:Facebook/Twitter 更新.估价更新.新的博文.赛事结果等. 浏览器支持 所有主流浏览器均支持服务器发送事件,除了 Internet Explorer. 接收 Server

HTML5: HTML5 服务器发送事件(Server-Sent Events)

ylbtech-HTML5: HTML5 服务器发送事件(Server-Sent Events) 1.返回顶部 1. HTML5 服务器发送事件(Server-Sent Events) HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. 例子

HTML 5 服务器发送事件

HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. 浏览器支持 所有主流浏览器均支持服务器发送事件,除了 Internet Explorer. 服务器端代码实例 为了让上面的例子可以运行,您还需要能够发送数据更新的服务器(比如 PHP ). 服务器端事件流的语法是非常简单的.把 "Content-Type" 报头设置为 "text/event-stream".现在,您可以开始发送事件流了 <?php header('

Javascript Ajax总结——其他跨域技术之服务器发送事件SSE

SSE(server-Sent Events,服务器发送事件)是围绕只读Comet交互推出的API或者模式. SSE API创建到服务器的单向连接,服务器通过这个连接可以发送任意数量的数据.服务器响应的MIME类型必须是text/event-stream,是浏览器中的JavascriptAPI能解析输出的格式.SSE支持短轮询.长轮询和HTTP流,能在断开连接时自动确定何时重新连接. 支持SSE的浏览器:Firefox6+.Safari5+.Opera11+.Chrome.iOS4+版Safar

HTML5 服务器发送事件(Server-Sent Events)

沈阳SEO:HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新. Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. 例子:Facebook/Twitter 更新.股价更新.新的博文.赛事结果等. 浏览器支持 所有主流浏览器均支持服务器发送事件,除了 Internet Explorer. 接收

【HTML5】Server-Sent服务器发送事件

Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能够自动到达. <!DOCTYPE html> <html> <body> <h1>获得服务器更新</h1> <div id="result"></div> <script> if(typeof(