2013-03-09 108 views
2

我想在我的登錄頁面中刪除一個cookie,不管我做什麼,它都不會消失。在Chrome開發者中,即使我已經使用response.addCookie()添加它,但它顯示服務器的響應中不包含cookie。爲什麼我的JSP不能刪除cookie

下面是刪除代碼的JSP代碼。它位於頁面的開頭,緊接在內容類型被設置之後並且在任何輸出之前。這個JSP在平鋪視圖中(不確定它是否有任何區別)。我也嘗試將這些代碼移動到包含的JSP,但沒有幫助。

<%@ page contentType="text/html; charset=UTF-8" %> 
<% 
// remove cookie. all the properties (domain, path secure) match those those when the cookie was being created and set. 
Cookie ck = new Cookie(someName,""); 
ck.setMaxAge(0); 
ck.setValue(""); 
ck.setPath("/"); 
ck.setDomain(someDomain); 
    ck.setSecure(true); 
response.addCookie(ck); 
System.out.println("wwwwwww 999991111"); 
%> 

謝謝。如果應用程序部署到根

回答

1

使用

cookie.setPath(request.getContextPath()); 

你的代碼纔有效。

+0

我的應用程序確實部署到根目錄。上面的Cookie刪除代碼也用於我的彈出註銷處理程序(一個彈簧控制器)。當用戶點擊註銷時,cookie會被刪除,只有當代碼在jsp中運行時(當用戶點擊登錄jsp時)纔會失敗。 – 2013-03-09 23:34:49

+0

因此,解決方案將寫入登錄控制器並在那裏刪除cookie。 – 2013-03-10 11:23:16

相關問題