注:图片如果损坏,点击文章链接: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. Redis cluster 集群命令合集

    目录 一.常用命令 二.操作命令 三.redis-trib.rb脚本 一.常用命令 打印集群的信息 CLUSTER INFO 列出集群当前已知的所有节点(node),以及这些节点的相关信息. CLUS ...

  2. linux小应用 —— 日志过滤

    先说问题,统计一个日志文件中去重之后的ip地址的个数.其实这是一个非常常见也比较简单的问题,其中我个人认为最主要的应该是匹配ip地址是这个问题的核心.剩下的就是对linux命令的熟练程度的问题了.首先 ...

  3. C# VS 断点进不去,显示红色空心右下角黄色感叹号图标

    今天开发同事遇到了一个诡异的问题,使用 Visual Studio 调式 C# 代码时,断电位置一直显示红色空心右下角有黄色感叹号的图标(下图所示),断点调试死活进不去. 几个同事过去看了下,都隐约感 ...

  4. jetbrain家的fleet(已获得预览权限)直接对标vscode , fleet有望超过vscode吗?今天我们实际操作下

    申请预览版 等待了一周终于得到了预览版的机会 今天就来简单使用下. 前言 工程管理大多使用的是maven , 在maven之前还有ant 这个应该已经没多少人在使用了,或者说新人基本不在使用ant , ...

  5. CF1427A Avoiding Zero 题解

    Content 请将一个长度为 \(n\) 的数列 \(A\) 重新排序,使得这个数列所有的前缀和 \(\neq 0\),或者证明没有这样的方案. 数据范围:\(t\) 组数据,\(1\leqslan ...

  6. LuoguB2044 有一门课不及格的学生 题解

    Content 给出一名学生的语数英三门成绩,请判断该名学生是否恰好有一门不及格(成绩小于 \(60\) 分). 数据范围:成绩在 \(0\sim 100\) 之间. Solution 强烈建议先去做 ...

  7. java 图形化工具Swing 颜色文件选择器 ;JColorChooser;JFileChoose

    使用JColorChooser: JColorChooser用于创建颜色选择器对话框,该类的用法非常简单,该类主要提供了如下两个静态方法: (1),showDialog(Component compo ...

  8. AcWing09. 分组背包问题

    有\(N\)组物品和一个容量是\(V\)的背包. 每组物品有若干个,同一组内的物品最多只能选一个. 每件物品的体积是\(v_{ij}\),价值是\(w_{ij}\),其中\(i\)是组号,\(j\)是 ...

  9. JAVA通过正则匹配html里面body标签的内容,去掉body标签

    /** * 获取html中body的内容 包含body标签 * @param htmlStr html代码 * @return */ public static String getBody(Stri ...

  10. 【LeetCode】268. Missing Number 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 求和 异或 日期 题目地址:https://leet ...