2012-02-27 40 views
1

サーブレットを自分のサーバーとして使用してjspクライアント(HTML5 SSEを使用)に更新を送信しています。これは私のJSPコードサーブレットをサーバー送信イベント(SSE)のサーバーとして使用する

<script type="text/javascript"> 

    if(typeof(EventSource)!=="undefined") 
     { 
     var source=new EventSource("/server"); 
     source.onmessage=function(event) 
     { 
     document.getElementById("news1").innerHTML+=event.data + "<br />"; 
     }; 
     } 
    else 
     { 
     document.getElementById("news1").innerHTML="Sorry, your browser does not support server-sent events..."; 
     } 
     </script> 

この私のサーブレットのコードである

ます。public void doPostメソッド(HttpServletRequestのリクエスト、HttpServletResponseの応答){

try{ 
    System.out.println("Begin for session: " + request.getSession(true).getId() + " " + response.getWriter()); 
response.setHeader("pragma", "no-cache,no-store"); 
response.setHeader("cache-control", "no-cache,no-store,max-age=0,max-stale=0"); 

response.setContentType("text/event-stream"); 

PrintWriter out = response.getWriter(); 

int messagesSent = 0; 
while (true) { 
    out.print("data: {" + messagesSent++ + "}\n\n"); 
    out.flush(); 
    }} catch(Exception e){System.out.println(e);} 

サーバーからの応答がありませんです。私はjbossにサーブレットをデプロイしており、サーブレットはJSPファイルではまったく呼び出されていません。サーブレットの先頭にあるprint文は実行されていません。

答えて

2

サーブレットに直接アクセスできますか?つまり、javascriptスクリプトからアクセスできませんか?

javascriptからの呼び出しに関係なく、このサーブレットがアクセス可能であることを最初に確認する必要があります。

関連する問題