1

サーブサイドイベントとEventSourceに関する質問。これは私の簡単なページです(listener.html)

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<title>SSE test page</title>

<script type="text/javascript">
$(document).ready(function() {
      var guid = "1234567890";
      var source = new EventSource('servlet/push-event');
      source.onmessage = function (e) {
          alert(e.origin);
      };    
});
</script> 
</head>
<body>Listener!</body>
</html>

Tomcatを超えてデプロイされているので、(http://127.0.0.1:8080/html/listener.html)でアクセスします。

サーバー側をJavaで実装しました。

resp.setContentType("text/event-stream");
resp.setHeader("Cache-Control", "no-cache");
PrintWriter out;
try {
    out = resp.getWriter();
    out.write("data: wowowowowowo");
    out.flush();
    out.close();
} catch (IOException e) {
    e.printStackTrace();
}

FirefoxとAndroid4ネイティブブラウザでlistener.htmlを呼び出すと、イベントが他の場所から発生したかのようにアラートが連続して表示されますが、どこにあるのかわかりません。

IE9やChromeなどの他のブラウザは応答しません。

問題はどこだ?私、Tomcatまたはブラウザ?

4

0 に答える 0