我在驗證servlet和我們實際的jsp之間存在一個奇怪的cookie可見性問題。我們使用servlet來驗證用戶是否是有效的用戶,如果他們是,我們繼續並使用其引用URL向HttpServletResponse添加一個cookie(這樣可以將集成重定向到他們自己的登錄頁面登出)。註銷操作通過相同的servlet,並且cookie被檢索,並且用戶被引導回存儲的cookie url。這一切都有效。但是,在我的網站中,如果我打印出通過pageContext.getRequest()。getCookies()[或通過螢火蟲控制檯]拉出的cookie,我根本找不到存儲的cookie。它幾乎沒有任何痕跡。但是,當您單擊註銷鏈接並將其導回到身份驗證servlet時,會找到Cookie,並相應地重定向。Java Servlet/JSP Cookie Disconnect
問題是,我需要像註銷一樣處理超時操作,但超時檢查在servlet外部,在jsp標記中。由於超時無法找到cookie,因此只使用標準timout頁面,集成客戶不希望看到該頁面。
任何想法這裏發生了什麼?
[ANSWER] 原來是一個路徑問題。我知道我沒有粘貼任何代碼,但是我創建的cookie沒有設置路徑,所以cookie只在servlet目錄中可見。一旦我設置了「/」的路徑,該cookie在整個站點中都可見。
不,它們都在同一個域中。儘管servlet駐留在它自己的目錄中,但jsp頁面是從根 – Gopherkhan 2009-07-16 18:56:48