html5 EvnetSource 与 JSP页面结合使用
最近一直在研究前端的技术,特别是html5的技术,本人觉得html5的发展将越来越好,废话少说。看到了EventSource,根据官方的说法是服务器向客户端的推送服务。自己想找一些例子看看,发现都是PHP或者ASP的,很少有关JSP的,就想用JSP去做一下。
首先说一下EventSource,这个只要看一下网络请求就知道是轮询了。。。。通过操作本人十分鼓励用chrom浏览器去查看html5的效果,毕竟很多浏览器还没有完全支持,特别是IE,基本是反对者的角色。好了,直接代码了
jsp的代码是:
<%@page import="java.util.Date"%> <%@ page contentType="text/event-stream; charset=UTF-8"%> <% response.setHeader("Content-Type", "text/event-stream"); //官方说法,一定要设置Content-Type为text/event-stream response.setHeader("Cache-Control", "no-cache");//官方说法,一定要设置Cache-Control为no-cache response.getWriter().write("data: >>server Time" + new Date()); //官方说法,必须以data:开头 response.flushBuffer();%>
html的script代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> if (typeof (EventSource) !== "undefined") { var eventsource = new EventSource("../jsp/eventSourceTest.jsp"); eventsource.onmessage=function(e){ console.log(e.data); document.getElementById("result").innerHTML = e.data; }; } else { alert("can't support eventsource"); } </script> </head> <body> <div id="result"></div> </body> </html>
初学者,如有错误,欢迎指正,感激感激