会话技术Cookie原理分析和Cookie发送多个Cookie

会话技术Cookie原理分析

基于响应头set-cookie和请求头cookie实现的

 

 

客户端给服务器发送一次请求,服务器给浏览器返回一次响应。因为有会话,我们得有多次请求应证这个过程。

首先第一次请求完成,服务器会携带一些数据响应给浏览器。

浏览器发现了这些数据之后,把这些数据保存在浏览器本地。

保存完成后,下一次请求又会把这些数据带着去发送下一次请求。

相当于这两次请求响应之间进行了数据的共享问题。

所以最终这个数据存储在客户端浏览器。

Cookie发送多个Cookie

可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。

复制代码
@WebServlet("/cookieD3")
public class CookieD3 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //创建Cookie对象
        Cookie c1 = new Cookie("msg", "hello");
        Cookie c2 = new Cookie("name", "zhangsan");
        //发送Cookie
        resp.addCookie(c1);
        resp.addCookie(c2);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}
复制代码

获取Cookie类:

复制代码
@WebServlet("/cookieD2")
public class CookieD2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取Cookie
        Cookie[] cs = req.getCookies();
        //获取数据,遍历Cookies
        if (cs!=null){
            for (Cookie c : cs) {
                String name = c.getName();
                String value = c.getValue();
                System.out.println(name+""+value);
            }
        }

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}
复制代码

访问3在访问2就可以获取多个cookie

 

 

posted @   魔光领域  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示