注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/

1、《Servlet简单实现开发部署过程

2、《Servlet部署描述符

3、《通过了解Servlet和Http之间的关系,了解web中http通信使用

4、《通过了解Servlet和Http之间的关系,了解web中http通信使用(二)

5、《Servlet生命周期

6、《Servlet全局信息共享域对象ServletContext

7、《Java中Web应用生命周期,对应理解Servlet生命周期

8、《JavaWeb中Session会话管理,理解Http无状态处理机制

上一部分我们提到了Session会话管理,这次我们再补充一个Cookie会话管理

首先我们看一下Cookie在Web中的定义:

HTTP允许一个Web服务器在客户机器上存储信息

需要注意的几个特点:

Cookie是有Web服务器的响应发出的

Cookie主要包括:名字、值、过期时间、路径和域。域和路径构成了Cookie的作用范围

Cookie存储在客户的机器上,Session存储在服务器端

我们做一个小练习:写两个Servlet,第一个访问响应到一个Cookie,第二次访问另外一个Sevlet,将其显示出来

然后我们部署访问,点击提交

此时进入第一个Servlet,响应一个cookie,我们按F12打开开发工具,就可以看到我们的cookie了

我们再访问我们的第二个Servlet

回车,可以看到服务器中显示了内容

JSESSIONID是我们前面的练习,带出来的数值,可以暂时不用考虑,此时可以看到Cookie实际上是存在客户端的

我们画个图

如果不设置过期时间,则表示这个Cookie的生命周期为浏览器会话期间,只要关闭浏览器窗口,Cookie就消失了。生命期为浏览器会话期的Cookie被称为会话Cookie,会话Cookie一般不存储在硬盘上,而是在内存中。如果设置过了过期时间,浏览器就会把Cookie保存在硬盘上,关闭再打开浏览器这些Cookie仍然有效

怎么理解呢?

我们访问

然后再访问第二个servlet

此时是可以看到我们的cookie的

但是如果我们关闭浏览器,再访问

此时服务器是没有的

就是说我们关闭了浏览器,Cookie就过期了

如果我们设置了过期时间,过期一天

此时访问浏览器

获取cookie之后,关闭浏览器,再访问

可以看到我们的cookie了

我们来查看下存在我们电脑上的cookie

我是用的是360极速浏览器,点击工具的选项

选择所有cookie

可以看到我们的过期时间

JavaWeb中Cookie会话管理,理解Http无状态处理机制的更多相关文章

  1. JavaWeb中Session会话管理,理解Http无状态处理机制

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...

  2. Java中的会话管理——HttpServlet,Cookies,URL Rewriting(译)

    参考谷歌翻译,关键字直接使用英文,原文地址:http://www.journaldev.com/1907/java-session-management-servlet-httpsession-url ...

  3. Java 中的会话管理—— HttpServlet,Cookies,URL Rewriting(转)

    索引 1.什么是 Session? 2.Java 中的会话管理—— Cookie 3.Java Servlet 中的 Session —— HttpSession 理解 JSESSIONID Cook ...

  4. React 中的 Component、PureComponent、无状态组件 之间的比较

    React 中的 Component.PureComponent.无状态组件之间的比较 table th:first-of-type { width: 150px; } 组件类型 说明 React.c ...

  5. 对Django框架中Cookie的简单理解

    概念的理解:首先Cookie和Session一样,是django中用于视图保持状态的方案之一.为什么要进行视图保留呢,这是因为浏览器在向服务器发出请求时,服务器不会像人一样,有记忆,服务器像鱼一样,在 ...

  6. Servle中的会话管理

    最近整理了下会话管理的相关笔记,以下做个总结: 一.会话管理(HttpSession) 1.Web服务器跟踪客户状态的四种方法: 1).使用Servlet API的Session机制(常用) 2).使 ...

  7. iOS中Cookie的管理

    平常的app开发中只调用Rest Api可能用不到Cookie,但是当要在App中内嵌WebView就有可能要用到.最近用到了这一块的东西,总结一下. Cookie原理 关于cookie的原理简单描述 ...

  8. React中的高阶组件,无状态组件,PureComponent

    1. 高阶组件 React中的高阶组件是一个函数,不是一个组件. 函数的入参有一个React组件和一些参数,返回值是一个包装后的React组件.相当于将输入的React组件进行了一些增强.React的 ...

  9. Spring3 Security 中配置会话管理

    账户登录时,要求一个账户同时只能一人登录,配置中的步骤有三个: 1.在web.xml中配置HttpSessionEventPublisher <listener> <listener ...

随机推荐

  1. 【kafka学习笔记】kafka的基本概念

    在了解了背景知识后,我们来整体看一下kafka的基本概念,这里不做深入讲解,只是初步了解一下. kafka的消息架构 注意这里不是设计的架构,只是为了方便理解,脑补的三层架构.从代码的实现来看,kaf ...

  2. SQLserver 2014 如何使用Datename()函数获取对应时间

    一.在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 二.用DateName()就可以获得相应的年.月.日,然后再把它们连接起来就可 ...

  3. 转:Android preference首选项框架

    详解Android首选项框架ListPreference 探索首选项框架 在 深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景.假设你正在编写一个应用 ...

  4. XGBoost特征选择

    1. 特征选择的思维导图 2. XGBoost特征选择算法 (1)  XGBoost算法背景 2016年,陈天奇在论文< XGBoost:A Scalable Tree Boosting Sys ...

  5. Python利用ctypes实现C库函数调用

    0X00 ctypes 是强大的,使用它我们就能够调 用动态链接库中函数,同时创建各种复杂的 C 数据类型和底层操作函数.使得python也具备了底层内存操作的能力,再配合python本身强大的表达能 ...

  6. selenium chrome一些配置问题

    chrome和chromedriver要对应,chrome版本查询:打开chrome,在地址栏输入:chrome://version/ 附: 所有chromedriver均可在下面链接中下载到:htt ...

  7. 替换错误Table.ReplaceErrorValues(Power Query 之 M 语言)

    数据源: 任意数据源,数据中有错误值 目标: 将错误值替换为0 操作过程: [转换]>[替换值]>[替换错误] M公式: = Table.ReplaceErrorValues( 表, {{ ...

  8. LuoguP3932 浮游大陆的68号岛 题解

    Content 在一个无限长的数轴上有 \(n\) 个点.第 \(i\) 个点上面有 \(a_i\) 件物品,且第 \(i\) 个点到第 \(i+1\) 个点的距离为 \(b_i\). 定义从第 \( ...

  9. navicat模型分享方法

    一. 查看模型保存路径选中模型如:<app-订单模型>,点击右键,对象信息,可以看到文件位置:C:\Users\Administrator\Documents\Navicat\Premiu ...

  10. PC点击链接打开QQ聊天窗口

    <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=QQ号码&site=qq& ...