Cookie共享以及Cookie的特点和作用

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:一般用于存储少量的不太敏感的数据

    在不登陆的情况下,完成服务器对客户端的身份识别

 

posted @ 2022-12-10 16:02  monkey大佬  阅读(356)  评论(0)    收藏  举报