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


    👍如果对你有帮助,给博主一个免费的点赞以示鼓励
    欢迎各位🔎点赞👍评论收藏⭐️

    👀专栏介绍

    【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.1cookie 简述

    保存在浏览器端的会话技术。
    Cookie----- 小甜点,小饼干
    Cookie 就相当于浏览器和服务器之间传递的一张小纸条。
    服务器负责写小纸条,负责查看小纸条
    浏览器负责保存小纸条,负责把小纸条展示给服务器看
    作用:就是为了保存会话数据

    1.2.2cookie 入门案例

    入门案例 1
    服务器如何书写 cookie ,如何把 cookie 传递给浏览器保存的
    Cookie 的基本使用:

    Cookie key value

    1.2.3cookie 获取及 cookie 原理

    入门案例 2 :服务器如何接收并查看浏览器传递来的 cookie
    服务器的关闭与否,不会影响浏览器的 cookie 保存
    服务器把 cookie 通过响应头传递:

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

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

    1.2.4cookie 使用注意

    1 cookie 是由 http 协议制定,只要使用 http 协议,就可以使用 cookie 。浏览器、手机端
    2 cookie 保存是有上限。
    Cookie 的 value 值不能太多, 4K.
    一个浏览器保存的 cookie 也是有上限。 300
    一个网站只能在一个浏览器上最多保存 30 个。
    例如:商品浏览记录、上次访问记录、 7 天内自动登录。。
    3 cookie 不能直接保存中文

    不允许

    获取到值使用时,需要进行 url 解码。 URLDecoder.decode
    建议: cookie 中不要保存中文

    1.2.5cookie 种类

    Cookie 分为两种:
    保存在浏览器内存中的 cookie (默认)。 特点是:浏览器关闭, cookie 就会销毁
    保存在浏览器对应的硬盘上(持久化 cookie )。 特点:浏览器即使关闭,cookie 也会保存下来
    问题: cookie 保存 7 天?
    60*60*24*7

     

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

    1.2.6cookie 的有效路径

    Cookie 会保存在硬盘上,保存路径,是由浏览器来自动控制。
    访问某路径,带哪些 cookie ,才要根据 cookie 的有效路径来判断

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

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

    1.2.7cookie 的唯一标识

    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

  • 相关阅读:
    01_网络编程_传统IO
    欢快畅游的小鱼特效
    Android案例手册 - 仅一个文件的展开收缩LinearLayout
    基本代码讲解
    猿创征文 | MyBatis与MyBatis-Plus的区别
    L1-006 连续因子
    使用Nginx和内网穿透实现多个本地Web站点的公网访问
    《痞子衡嵌入式半月刊》 第 51 期
    神经网络训练图形分析,神经网络训练图形分类
    【python深度学习】——torch.min()
  • 原文地址:https://blog.csdn.net/weixin_45481821/article/details/126400607