JavaWeb之会话跟踪技术

前言

这一节主要讲会话跟踪技术

1.补充

在这里插入图片描述
为了提交Gitee我修改了模块的目录,就是移动了模块,导致模块不是Maven了,可以在右边的Maven小工具,点加号,把模块重新添加为Maven

2. 概述

在这里插入图片描述

3. Cookie

3.1 基本使用

在这里插入图片描述

在这里插入图片描述

        //发送cookie
        //1.创建cookie对象
        Cookie cookie=new Cookie("username","zs");
        //2.发送
        response.addCookie(cookie);

在这里插入图片描述
怎么看cookie来的数据呢,
在这里插入图片描述
点设置
在这里插入图片描述
点第三个
在这里插入图片描述
在这里插入图片描述
搜localhost
在这里插入图片描述
或者用开发者模式也可以

在这里插入图片描述

        //获取cookie
        //1.获取cookie数组
        Cookie[] cookies = request.getCookies();
        //2.遍历数组
        for (Cookie cookie : cookies) {
   
            //3.获取数据
            String name = cookie.getName();
            if("username".equals(name)){
   
                String value = cookie.getValue();//但我只想要username和zs的cookie
                System.out.println(name+":"+value);
                break;
            }
        }

在这里插入图片描述
在这里插入图片描述
先访问aServlet,这样浏览器就有cookie了,在访问bCookie
在这里插入图片描述
在这里插入图片描述
这样的话,一次会话(一个浏览器)两次请求(两个窗口)之间共享了数据
对于我们,我们只需要干,发送和获取

3.2 原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在访问bServlet,浏览器里面已经有cookie信息了,那么访问的时候就会把cookie里面的数据携带到bServlet里面的资源里面去
在这里插入图片描述
在这里插入图片描述
这个就是cookie的请求头,而且cookie对应数据不止一个,因为浏览器会把这个域名下的locallhost下的所有cookie都带过去

3.3 使用细节

在这里插入图片描述
这个的意思就是你使用aServlet,然后关闭浏览器,cookie就不见了。在打开bServlet,就不会有输出了
但是我们记住密码,肯定有记住一个月啊,要多记住一些时间,就不能浏览器关闭,cookie就不见了
在这里插入图片描述

        cookie.setMaxAge(60*60*24*7);

在这里插入图片描述
在这里插入图片描述
这样的话,就算我们关闭浏览器也不会删除cookie了,再次点开bServlet也可以访问cookie了
现在我们演示一下存储中文

        Cookie cookie=new Cookie("username","张三");

在这里插入图片描述
在这里插入图片描述
这样直接就报错了

        String value="张三";
        //URL编码
        value = URLEncoder.encode(value, "UTF-8");
        System.out.println(value);
        Cookie cookie = new Cookie("username", value);

在这里插入图片描述

在这里插入图片描述

这样bServlet获取的数据就是URL编码的数据了
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样的话,我们需要解码

                value = URLDecoder.decode(value, "UTF-8");

在这里插入图片描述
在这里插入图片描述

4. Session

4.1 基本使用

在这里插入图片描述

        //存储到Session中
        //1.获取session对象
        HttpSession session = request.g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值