1

私が書いたJavaコードを介してCookieを削除したいのですが、

Cookie[] cookies = request.getCookies();  //request - HttpServletRequest  
for (int i = 0; i < cookies.length; i++) {  
    if (cookies[i].getName().equals("cam_passport")) {  
        cookies[i].setMaxAge(0);     
        cookies[i].setValue("");  
        response.addCookie(cookies[i]);  
    }  
}  

「cookies」オブジェクトで Cookie のリストを取得していますが、必要な「cam_passport」は取得していません。私が観察したことは、Mozilla にチェックインしたとき、この Cookie の PATH が異なるということです。「cookies」オブジェクトで取得している Cookie のリストのパスは「/」です。そして、この「cam_passport」Cookie のパスは「/cognos10」です。

毎回 1 つのインスタンスで上記の Cookie を削除する必要があります。上記のような別のパスの Cookie を取得するにはどうすればよいですか?

4

1 に答える 1

1

おそらくリクエストパラメータとともに、そのパスへのリダイレクトを送信する必要があります。次に、そのパスに正確にマップされているサーブレットまたはフィルターでCookieを取得し、必要に応じて要求パラメーターの存在に基づいてCookieを削除できます。最後に、必要に応じて、リクエストパラメータに基づいて元のURLにリダイレクトできます。

将来、cookie.setPath("/")Webアプリケーション全体でCookieを使用できるようにする必要がある場合は、Cookieの作成時に使用します。

于 2012-09-05T20:00:14.090 に答える