java-web(四) Cookie && Session

四、Cookie && Session

会话概述

会话基本概念

  • 日常生活中:从拨通电话到挂断电话之间的一连串你问我答的过程就是一个会话

  • B/S架构中:从浏览器第一次给服务器发送请求时,建立会话;直到有一方断开,会话结束

  • 一次会话:包含多次请求响应

    在这里插入图片描述

会话技术

  • 问题:Http是一个无状态协议,同一个会话的连续两个请求相互独立,彼此并不了解

  • 作用:用于存储浏览器与服务器在请求和响应过程中产生的数据

  • 客户端会话技术:cookie

  • 服务器端会话技术:session

    在这里插入图片描述

Cookie【重点】

概述

  • Cookie作用:在一次会话的多次请求之间共享数据,将数据保存到客户端(浏览器)

  • jd购物车

    在这里插入图片描述

快速入门

  • 案例

    在这里插入图片描述

  • cookie相关方法

    1. 设置数据到cookie中    
    	// 1.创建cookie对象,设置数据 *value只能存字符串        
    		Cookie cookie = new Cookie(String name,String value);    
    	// 2.通过response,响应(返回)cookie       
    		response.addCookie(cookie);
    		
    2. 从cookie中获取数据    
    	// 1.通过request对象,接收cookie数组        
    		Cookie[] cookies = request.getCookies();    
    	// 2.遍历数组
    
  • 代码演示

    • SetServlet
    package com.lagou.servlet;
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.net.URLEncoder;
    
    public class SetServlet extends HttpServlet {
         
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
    
            // 1. 创建cookie对象,设置数据
            String encodevalue = URLEncoder.encode("杰克 ", "UTF-8");
            Cookie cookie1 = new Cookie("name", encodevalue);
            Cookie cookie2 = new Cookie("age", "18");
    
            // 2. 通过response对象响应cookie
            resp.addCookie(cookie1);
            resp.addCookie(cookie2);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
            doGet(req, resp);
        }
    }
    
    • GetServlet
    package com.lagou.servlet;
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值