前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【JavaWeb】案例一:记录用户的上次访问时间

【JavaWeb】案例一:记录用户的上次访问时间

作者头像
陶然同学
发布2023-02-27 13:41:48
7940
发布2023-02-27 13:41:48
举报
文章被收录于专栏:陶然同学博客

👀专栏介绍

【JavaWeb】 目前主要更新JavaWeb,一起学习一起进步。

👀本期介绍

本期主要介绍案例一:记录用户的上次访问时间

文章目录

1.1、 流程及技术分析

1.2、 讲解:cookie

1.2.1、cookie 简述

1.2.2、cookie 入门案例

1.2.3、cookie 获取及 cookie 原理

1.2.4、cookie 使用注意

1.2.5、cookie 种类

1.2.6、cookie 的有效路径

1.2.7、cookie 的唯一标识

1.3、 代码实现

1.1、 流程及技术分析

域对象:

request :仅针对某次请求,因为该案例会有两次请求,所以无法使用 request

ServletContext :针对整个项目所有请求,会导致用户 1 记录的时间被其他用户使用。

会话技术:

相当于浏览器和服务器之间打电话的技术。

浏览器和服务器本身都是健忘症患者。

会话数据需要记录:要么小红记录,要么小明记录

浏览器 服务器

会话技术:

保存在浏览器的会话技术 ----Cookie

保存在服务器的会话技术 ----Session

1.2、 讲解:cookie

1.2.1、cookie 简述

保存在浏览器端的会话技术。

Cookie----- 小甜点,小饼干

Cookie 就相当于浏览器和服务器之间传递的一张小纸条。

服务器负责写小纸条,负责查看小纸条

浏览器负责保存小纸条,负责把小纸条展示给服务器看

作用:就是为了保存会话数据

1.2.2、cookie 入门案例

入门案例 1 :

服务器如何书写 cookie ,如何把 cookie 传递给浏览器保存的

Cookie 的基本使用:

Cookie 有 key value

1.2.3、cookie 获取及 cookie 原理

入门案例 2 :服务器如何接收并查看浏览器传递来的 cookie

服务器的关闭与否,不会影响浏览器的 cookie 保存

服务器把 cookie 通过响应头传递:

浏览器把保存的 cookie 通过请求头展示给服务器:

上述方法若获取不到 cookie,就会返回 null

1.2.4、cookie 使用注意

1 、 cookie 是由 http 协议制定,只要使用 http 协议,就可以使用 cookie 。浏览器、手机端

2 、 cookie 保存是有上限。

Cookie 的 value 值不能太多, 4K.

一个浏览器保存的 cookie 也是有上限。 300

一个网站只能在一个浏览器上最多保存 30 个。

例如:商品浏览记录、上次访问记录、 7 天内自动登录。。

3 、 cookie 不能直接保存中文

不允许

获取到值使用时,需要进行 url 解码。 URLDecoder.decode

建议: cookie 中不要保存中文 。

1.2.5、cookie 种类

Cookie 分为两种:

保存在浏览器内存中的 cookie (默认)。 特点是:浏览器关闭, cookie 就会销毁

保存在浏览器对应的硬盘上(持久化 cookie )。 特点:浏览器即使关闭,cookie 也会保存下来

问题: cookie 保存 7 天?

60*60*24*7

问题:把这个保存 7 天的 cookie 删除。

1.2.6、cookie 的有效路径

Cookie 会保存在硬盘上,保存路径,是由浏览器来自动控制。

访问某路径,带哪些 cookie ,才要根据 cookie 的有效路径来判断 。

访问的路径等于或者包含 某个 cookie 的有效路径,这个 cookie 就会被发送过来

总结:一般都要进行 setPath(request.getContextPath()+”/”); // /day37_1/

1.2.7、cookie 的唯一标识

Cookie 是可以进行分别保存或者相互覆盖的。

Cookie 如何进行相互覆盖,新 cookie 会覆盖旧 cookie ,

前提: cookie 的唯一标识必须完全相同(身份证)

唯一标识: 域名 + 有效路径 +cookie 名称

例如 1 :

C1:http://www.baidu.com/ /hehe/ nihao

C2: http://www.itcast.cn/ /hehe/ nihao

会分别保存,因为域名不同

例如 2 :

C1:http://www.baidu.com/ /hehe/ nihao

C2: http://www.baidu.com/ /haha/ nihao

会分别保存,因为有效路径不同

例如 3 :

C1:http://www.baidu.com/ /hehe/ k1

C2: http://www.baidu.com/ /hehe/ k2

会分别保存,因为 cookie 名称不同

例如 4 :

C1:http://www.baidu.com/ /hehe/ k1

C2: http://www.baidu.com/ /hehe/ k1

唯一标识相同,判定是同一个 cookie ,新的 cookie 会覆盖旧的 cookie

域名不用手动设置,因为 tomcat 服务器会设置 .

我们只要关注: 有效路径 和 cookie 名称 即可

1.3、 代码实现

Visit

Show

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀专栏介绍
  • 👀本期介绍
  • 文章目录
  • 1.1、 流程及技术分析
  • 1.2、 讲解:cookie
    • 1.2.1、cookie 简述
      • 1.2.2、cookie 入门案例
        • 1.2.3、cookie 获取及 cookie 原理
          • 1.2.4、cookie 使用注意
            • 1.2.5、cookie 种类
              • 1.2.6、cookie 的有效路径
                • 1.2.7、cookie 的唯一标识
                • 1.3、 代码实现
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档