java - server sent event using jsp not working -


i want achieve server sent events using jsp it's not working, code given below not displaying date

date.jsp

  <%@ page import="java.io.*,java.util.*, javax.servlet.*" %>   <%     response.setcontenttype("text/event-stream;charset=utf-8");     response.setheader("cache-control", "no-cache");     response.setheader("connection", "keep-alive");    %>     <%     date date = new date();     out.write(+date.tostring()+);     out.flush();     try {     thread.currentthread().sleep(5000);     } catch (interruptedexception e) {     e.printstacktrace();     }     %> 

and ex.html code fallows

<!doctype html> <html> <body>      <h1>getting server updates</h1>      <div id="result"></div>       <script>      if(typeof(eventsource)!=="undefined")      {          var source=new eventsource("date.jsp");          source.onmessage=function(event)          {              document.getelementbyid("result").innerhtml+=event.data + "<br>";          };      }      else      {          document.getelementbyid("result").innerhtml="sorry, browser not support   server-sent events...";      }     </script>  </body> </html> 

output is:

getting server updates


not displaying date also...

i using tomact server,is there problem in code

you should use runnable body onload or button onclick listeners, should use correct path jsp or servlet(placed not inside web-inf folder), should use correct event data format, "data:" prefix , "\n\n" suffix.

ex.html

<!doctype html> <html>     <body onload = registersse()>           <h1>getting server updates</h1>           <div id="result"></div>           <script>               function registersse()               {                   alert("wtf");                   if(typeof(eventsource) != "undefined")                   {                       var source = new eventsource ("http://localhost:8080/web_war_exploded/date.jsp");                       source.onmessage = function(event)                       {                           document.getelementbyid("result").innerhtml += event.data + "<br/>";                       };                   }                   else                   {                       document.getelementbyid("result").innerhtml = "sorry, browser not support   server-sent events...";                   }               }           </script>     </body>     </html> 

date.jsp

<%     response.setcontenttype("text/event-stream;charset=utf-8");     response.setheader("cache-control", "no-cache");     response.setheader("connection", "keep-alive");      date date = new date();     out.write("event: server-time\n\n");     out.write("data: "+date.tostring() + "\n\n");     out.flush();     try {         thread.currentthread().sleep(5000);     } catch (interruptedexception e) {         e.printstacktrace();     } %> 

and after should use google, question nothing new, please see links below:

java-servlet-and-server-sent-events

push-notification-for-java-web-app

how-push-notification-java-servlet-for-web-application


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -