会话管理技术:Cookie、Session_不同类型的会话管理技术-程序员宅基地

技术标签: cookie  Web前端  web  session  

Cookie :浏览器端的会话管理技术(只能存储String类型的数据)
关于cookie的细节:
如何创建Cookie对象:服务器创建,将cookie携带回服务器

Cookie c = new Cookie(String key, String value);
addCookie(c);

Session :服务器端的会话管理技术(可以存储任意类型的数据)
依赖于 cookie 存在:JsessionId (记录用户会话信息)

会话技术
程序中的会话:打开浏览器---->访问特定的网站(访问服务器)-----> 关闭浏览器

将浏览器华人服务器之间的产生数据,会话!
服务器端会话技术
浏览器端会话技术:cookie:登录
例如:京东(不登录/登录)----->不登录----->将会话数据保存在cookie(加入购物车)
登录----->服务器(session 中)

应用场景:
打开浏览器-----> 访问网站-----> 填写用户登录数据(会话数据)-----> 校验成功-----> 首页,回显示当前的用户名信息-----> 关闭浏览器-----> 直接打开浏览器-----> 访问同一个网站 -----> 直接显示用户信息
访问商品列表 -----> 点击某一个商品-----> 浏览器关闭 ----->下一次进来-----> 商品列表-----> 记录之前访问过的商品数据(图片等)

Cookie :客户端(浏览器端)的存储技术

  1. 服务器端创建Cookie,将cookie数据携带给浏览器
public Cookie(String name, String value)(响应头:setCookie:key=value)
  1. 通过浏览器端将数据存储在缓存区中,(请求头:cookie:key=value)
public void addCookie(Cookie cookie):
将cookie协会浏览器,等待下次将指定 cookie 添加到响应。可以多次调用此方法设置一个以上的 cookie
  1. 返回包含客户端随此请求一起发送的所有 Cookie 对象的数组
public Cookie[] getCookie():
浏览器再次访问的时候,服务器端就可以获取到cookie数据

Cookie的基本使用:

  1. 创建Cookie
  2. 将cookie数据由服务器协会浏览器
  3. 再次将访问服务器,可以获取cookie数据

获取cookie的名称:getName()
获取cookie的内容:getValue()

cookie的细节:(不适合存储私有数据)

  1. cookie内容只能存储String类型的数据
  2. 浏览器端存储cookie的个数有限制:300个,每一个站点可以存储20多个cookie
  3. 有效期问题:
public setMaxAge(int expiry):cookie 的有效期:默认浏览器关闭时,cookie会话结束!
设置 cookie的最大生存时间,以秒为单位。
    参数如果为正整数:超过了当前的值,标识cookie过期了
        0:(清空浏览器记录):直接将cookie会话结束
pubilc void setPath(String uri):设置当前cookie的有效路径
如果存在项目名称:由“/项目名称”开始,到“/rem"结束,如果设置了有效路径

cookie的基本使用

package com.bite.cookie.hello;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40933663/article/details/91344660

智能推荐

[Kubernetes]K8S中的Service实现方式以及IPVS介绍_kubernetes service ipvs-程序员宅基地

文章浏览阅读685次。service通过什么方式实现的?正常情况下,service是一个抽象的概念,它是通过调用iptables工具实现的pod之间的通信,而iptables是系统内核netfiter模块的一个工具,主要是用来管理一张端口转发表,每一次的转发都需要轮询一遍转发表,因此,当集群数量较大的时候,相应的转发性能会下降。所以在kubernets1.11版本以后,将IPVS引入GA,通过IPVS实现SVC。实现service功能,通过kube-proxy,是kubernets核心组件,能否替代?常见概念_kubernetes service ipvs

基于lcov实现的增量代码UT覆盖率检查-程序员宅基地

文章浏览阅读1.2k次。背景介绍配合CppUTest单元测试框架,lcov提供了一套比较完整的工程工具来对UT覆盖率进行度量。但对有些团队来说,历史负担太重,大量的遗留代码没有相应的UT。在这种情况下,对新增代码进行覆盖率检查,可能对团队来说是一种可行性较强的措施。在此目标基础上,并提出如下需求:1)利用现有的lcov资源;2)可以对指定git cmmit提交的代码进行UT覆盖率检查;3)可以指定需要UT..._lcov增量覆盖率

RedHat4 上安装MySql5-程序员宅基地

文章浏览阅读285次。1, 从http://www.mysql.com/downloads/ 上下载以下两个安装包:MySQL-server-5.5.8-1.linux2.6.x86_64.rpmMySQL-client-5.5.8-1.linux2.6.x86_64.rpm2, 安装server包:# rpm -ivh MySQL-server-5.5.8-1.linux2.6..._redhat 4 安装mysql

Intellij IDEA 测试scala程序的时候:Exception in thread “main“ java.lang.NoClassDefFoundError: scala/Predef$_exception in thread "main" java.lang.noclassdeffou-程序员宅基地

文章浏览阅读1.5w次,点赞6次,收藏7次。Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef$ at HelloWorld$.main(HelloWorld.scala:4) at HelloWorld.main(HelloWorld.scala)Caused by: java.lang.ClassNotFound..._exception in thread "main" java.lang.noclassdeffounderror: scala/predef$ at

(05)C++ builder之AES加解密_c++ builder 文本加密-程序员宅基地

文章浏览阅读2.2k次。(同一个世界,同一个梦想,交流学习C++Builder XE10,传承c++builder的魅力!欢迎各地朋友加入我的QQ群484979943、860634510、299497712,进群密码“BCB”,同时也请将该群号广为宣传,希望能够广集各方高手,共同进步。如需下载开发工具及源代码请加入我的QQ群)【阅读倡议】1、有问题请留言;2、没问题请点赞;3、看连载请加群;4、下源码..._c++ builder 文本加密

C#简单代码实现窗体最小化到托盘运行_c# 最小化代码-程序员宅基地

文章浏览阅读1.2k次。实现当点击最小化按钮时,程序缩到系统托盘中,双击系统托盘图标时,还原程序。1、建个WinForm项目,其它操作略过。2、拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件。3、实现Form的SizeChanged事件,代码如下: if(this.WindowState == FormWindowState.Minimized)_c# 最小化代码

随便推点

计算机图形学绘图程序设计_绘图程序计算机图形学-程序员宅基地

文章浏览阅读1.6k次。VC++的图形工作方式物理坐标系设备场景MFC中的设备场景CDC类的部分成员函数Windows的图形对象1.建立图形对象2.对该对象进行初始化3.将该对象选入当前设备场景,并保留初始对象4.画图5.恢复原始对象实例实验一 二维图形绘制金刚石一笔绘三种方法..._绘图程序计算机图形学

数字证书及CA的扫盲介绍_rsa和ca的区别-程序员宅基地

文章浏览阅读751次。★ 先说一个通俗的例子  考虑到证书体系的相关知识比较枯燥、晦涩。俺先拿一个通俗的例子来说事儿。  ◇ 普通的介绍信  想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办捏?常用的办法是带公司开的一张介绍信,在信中说:兹有张三先生前往贵公司办理业务,请给予接洽......云云。然后在信上敲上A公司的公章。_rsa和ca的区别

B站C语言——指针_c语言a[4][4]-程序员宅基地

文章浏览阅读467次。学C语言就是学内存int *p = NULL;这里的/*是在定义时使用的,说明p是指针变量,而不是普通变量printf("%d\n",*p);这里的/*的表示取p保存的地址编号对应空间的内容..._c语言a[4][4]

vue2.0引入icon.styl不断报错-程序员宅基地

文章浏览阅读359次。解决方法:在import icon.styl的地方引入icon.css.这样至少不报错,不过估计有问题,后续再看。_icon.styl

Unity-EasyTouch插件之One Finger-程序员宅基地

文章浏览阅读155次。这节课,我们主要讲下单个手指的测试。比如单击啊,双击啊,拖动,单手滑动等。单击:public class TouchTest : MonoBehaviour { // Subscribe to events void OnEnable(){ //启动On_SimpleTap监听,也就是手指单击屏幕,就会触发On_MySimpleTap的方法执行 Ea..._unity easytounch 获取第一跟手指

C/C++MFC模拟校园卡消费记录查询系统[2024-04-10]-程序员宅基地

文章浏览阅读252次,点赞3次,收藏6次。同学们都在机房做实验或自由上机,请根据自己实际使用情况编写一份模拟校园卡消费记录查询系统,实现登录,计费,挂失,统计等相关功能。可以选择TC2.0、TC3.0、VC++6.0等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。//状态 ,正常、挂失、冻结。char state;//状态 ,是否上机中。

推荐文章

热门文章

相关标签