Cookie共享以及Cookie的特點和作用
阿新 • • 發佈:2022-12-10
Cookie共享以及Cookie的特點和作用
Cookie共享問題:
假設在一個tomcat伺服器中,部署了多個web專案,那麼在這些web專案中cookie能不能共享?
預設情況下cookie不能共享
方法:
setPath(String path):設定cookie的獲取範圍,預設情況下,設定當前的虛擬目錄
如果要共享,則可以將path設定為 " / "
當前專案:
@WebServlet("/CookieDemo4") public class CookieDemo5 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //建立Cookie物件 Cookie cookie = new Cookie("msg", "張三"); //設定path,讓當前伺服器下部署的所有專案共享cookie資訊 cookie.setPath("/"); //傳送Cookie response.addCookie(cookie); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
其他專案:
@WebServlet("/CookieDemo2") public class CookieDemo2 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //獲取Cookie Cookie[] cookies = request.getCookies(); //獲取資料,遍歷Cookies if (cookies!=null){ for (Cookie c : cookies) { String name = c.getName(); String value = c.getValue(); System.out.println(name+":"+value); } } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } }
不同的tomcat伺服器間cookie共享問題?
setDomain(String path):如果設定一級域名相同,那麼多個伺服器之間cookie可以共享
setDomain(" .baidu.com "),那麼tieba.baidu.com和news.baidu.com中cookie可以共享
Cookie的特點和作用:(用於儲存少量資料 俗稱:小餅乾)
1.cookie儲存資料在客戶端瀏覽器
2.瀏覽器對於單個cookie 的大小有限制(4kb) 以及 對同一個域名下的總cookie數量也有限制(20個)
作用:
cookie:一般用於儲存少量的不太敏感的資料
在不登陸的情況下,完成伺服器對客戶端的身份識別