我創建了一個JSP頁面,該頁面創建兩個cookie並將其添加到響應對象。這個頁面有一個提交按鈕,它調用一個servlet對象。這個servlet將嘗試訪問先前JSP頁面存儲的cookie,但它只能訪問JSESSIONID cookie。這是如何造成的,我該如何解決這個問題?在JSP頁面中創建的Cookie在Servlet中不可用,只有JSESSIONID cookie可用
-3
A
回答
1
當您沒有明確設置cookie路徑時會發生這種情況。然後它將默認爲請求URI中的當前文件夾。當cookie的路徑與當前請求URI相匹配時,瀏覽器將只發回cookie。
因此,假設您的JSP具有URI /pages/some.jsp
,那麼在JSP中創建的任何Cookie都將具有默認路徑/pages
。這意味着瀏覽器只會在匹配/pages/*
的任何請求上發回cookie。如果您的servlet具有URI /someServlet
,那麼它將不會檢索該cookie。它只會檢索路徑爲/someServlet
或/
的Cookie。
如果您想在整個應用程序中使用您的cookie,那麼您需要明確設置路徑爲/
。然後
Cookie cookie = new Cookie(name, value);
cookie.setPath("/");
response.addCookie(cookie);
這也將是可用在任何servlet或JSP上的不同的(子)文件夾中運行。
相關問題
- 1. 在Servlet中創建會話並在JSP頁面中使用?
- 2. Cookie可在cookie header中使用,但不能從getCookies()中使用?
- 3. Java Servlet/JSP Cookie Disconnect
- 4. 當創建cookie時,響應在此上下文中不可用
- 5. 可以在android應用程序中使用jsp或servlet頁面
- 6. JSESSIONID Cookie不存儲
- 7. 在我的所有頁面中都可看到相同的Cookie
- 8. 如何使用SSL頁面創建Cookie?
- 9. 是否可以在JSP中創建本地頁面作用域?
- 10. 在Jquery Ajax調用的頁面上創建的Cookie在Internet Explorer中不工作
- 11. 獲取JSESSIONID值並在AngularJS中創建Cookie
- 12. JSESSIONID在Tomcat中過期日期的Cookie
- 13. Python創建Cookie,然後使用Cookie加載頁面
- 14. 如何在jsp頁面中使用servlet?
- 15. 在PHP登錄頁面中使用cookie
- 16. 在JS中獲取JSESSIONID cookie值
- 17. 在JSESSIONID Cookie中設置httponly(Java EE 5)
- 18. 在請求標題中修改JSESSIONID cookie
- 19. 是否可以在cookie中嵌入cookie和localstorage的登錄頁面?
- 20. 頁面加載後創建的symfony2 cookie
- 21. 我可以在Phonegap中使用Cookie嗎?
- 22. 更新JSESSIONID cookie值
- 23. Javascript在不同功能中創建Cookie
- 24. 在JSP中創建不可變對象
- 25. 可能更新cookie中的JavaScript沒有頁面重新加載?
- 26. 爲什麼我的jQuery Cookie不可用於多個頁面?
- 27. 我的cookie在asp.net頁面中消失
- 28. 如何在jsp頁面中包含servlet?
- 29. 在jsp頁面中創建動態行
- 30. HTTP請求中的Angular2 Set-Cookie JSESSIONID
顯示您的代碼。 –