2017-03-12 17 views
0

サーブレットがlocalStorageをクリアする方法は?次のコードを試してみますが、localStorageデータをクリアしません。ときに、ユーザーのログアウトアカウントは、セッションオブジェクトとクリアのlocalStorageを破壊し、logout.javaサーブレットに指示します:サーブレットローカルストレージをクリアする

/.../
    request.logout(); 
    request.getSession().invalidate(); 
    request.getSession().removeAttribute("student"); 
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
    response.setHeader("Pragma", "no-cache"); // HTTP 1.0. 
    response.setDateHeader("Expires", 0); // Proxies. 
    out.println("<script type=\"text/javascript\">"); 
    out.println("localStorage.clear();"); 
    out.println("</script>"); 
    response.sendRedirect("index.html"); 
    /..../ 

誤差がありますか?

答えて

0

あなたがタグ

out.println("</javascript>"); 

を閉じているあなたのコードの一部は、問題です。 <script>を開いて、それを閉じるようにしました。</script>です。

+0

ya ...私は注意しましたが、更新後もまだ動作していません... – helloworld1234

+0

@ helloworld1234あなたのHTMLの頭や体の中にスクリプトタグを入れますか? – alireza

+0

htmlドキュメントにhtml、body、およびheadタグが完全に組み込まれていることを確認し、<!DOCTYPE html>がドキュメントの上にあることを確認してください。私はあなたの問題を解決することを願っています。 – alireza

1

あなたは、ブラウザにHTTP 302応答コードとLocation HTTPヘッダーを送信するresponse.sendRedirect()を呼び出しています。ブラウザは応答に書かれたメッセージ本文をほとんど無視しているので、スクリプトは実行されません。

関連する問題