2012-09-05 85 views
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]); 
    } 
} 

我得到的cookie列表中的「曲奇」對象,但不是必需的一個「cam_passport」。 我已經觀察到,這個cookie的路徑是不同的,當我在Mozilla檢查。 作爲在哪裏,我在我的「曲奇」對象正在逐漸餅乾的名單有他們爲「/」路徑。 而且,對於這種 「cam_passport」 餅乾,路徑是 「/ cognos10」。

我需要上面的餅乾在每一個時刻被刪除。我怎樣才能得到像上面那樣的不同路徑的餅乾?

回答

1

您需要重定向發送到該路徑,或許還有一個請求參數一起。然後,您可以在完全映射到該路徑的servlet或過濾器中獲取cookie並將其刪除,必要時根據請求參數的存在情況進行刪除。最後,您可以根據請求參數重定向回原始URL。

在未來,創建的cookie,如果你需要的cookie來在整個Web應用程序提供過程中使用cookie.setPath("/")