4

ユーザー セッションの有効期限が切れているか、接続がアクティブでないときに Web ページを更新しようとしています。たくさんのコードを試しましたが、うまくいかないようでした。私が最後に使用したコードは

if(session.getAttribute("connection") != null && !session.getAttribute("connection").equals("")){
            conn = (DBConnection) session.getAttribute("connection");
            if(conn == null){
                    response.setContentType("text/html");
                    response.setHeader("Refresh", "3");
                    return;
                }
            }else{
                response.setContentType("text/html");
                response.setHeader("Refresh", "3");
                return;
            }

response.sendRedirect() と request.getrequestdispatcher.forward() も試しましたが、うまくいきませんでした。サーブレットは、json オブジェクトを期待する JavaScript によって呼び出されています。

4

2 に答える 2

1

サーブレットからクライアント上でコマンドを直接実行することはできません。http protocolクライアントからの要求とサーバーからの応答に依存していることに注意してください。

そのため、クライアントからのリクエストがない場合、サーバーからは何も送信できません (単純に、サーバーに request to response がないため)。

この機能を見たことがあると思います。はい、実行できます。しかし、この方法ではありません。ここではAjaxが最善の策です...(定期的にリクエストを送信し、サーバーから応答を取得するなど)

于 2013-05-10T07:24:17.623 に答える
0

ページを更新する場合は、ページ ヘッダーで次のメタ タグを使用します。

<meta http-equiv="refresh" content="5">
于 2013-05-10T08:23:15.687 に答える