码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-11-13 19:29:09      阅读:557      评论:0      收藏:0      [点我收藏+]

标签:

页面代码:

<!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();
				}
			}
	    
	}

技术分享

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

标签:

原文地址:http://my.oschina.net/u/260244/blog/530138

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!