注:图片如果损坏,点击文章链接: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. Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截

    近日,华为云安全团队关注到Apache Log4j2 的远程代码执行最新漏洞.Apache Log4j2是一款业界广泛使用的基于Java的日志工具,该组件使用范围广泛,利用门槛低,漏洞危害极大.华为云 ...

  2. 安霸pipeline简述之rgb域的处理

    RGB域处理模块的详细介绍: RGB域的处理主要是demosaic,color_correction,tone_curve(类似于gamma曲线).   Demosaic:此模块将bayer Patt ...

  3. JDK各版本新增的主要特性总结

    JDK1.5新特性: 1.自动装箱与拆箱: 2.枚举 3.静态导入,如:import staticjava.lang.System.out 4.可变参数(Varargs) 5.内省(Introspec ...

  4. ubuntu 10.04安装和配置Samba

    1. 安装samba服务器 sudo apt-get install samba  //主程序包 sudo apt-get install smbfs  //文件下载挂载工具 2. 创建共享目录 mk ...

  5. [BUUCTF]PWN——[V&N2020 公开赛]babybabypwn

    [V&N2020 公开赛]babybabypwn 附件 步骤: 例行检查,64位程序,保护全开 本地试运行一下,看看程序的大概情况 64位ida载入,看一下main函数 sub_1202()函 ...

  6. LuoguB2008 计算 (a+b)×c 的值 题解

    Content 输入 \(a,b,c\),输出 \((a+b)\times c\). 数据范围:\(-10000<a,b,c<10000\). Solution 关于 C++ 运算顺序可以 ...

  7. CF424A Squats 题解

    Content 给定一个长度为 \(n\) 的仅由 x 和 X 组成的字符串,求使得字符串中 x 和 X 的数量相等需要修改的次数,并输出修改后的字符串. 数据范围:\(2\leqslant n\le ...

  8. 卸载zabbix

    1.首先停止zabbix运行 可以用官方命令 systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm 也可以直接kill -9 ...

  9. JAVA微信公众号网页开发——获取公众号关注的所有用户(微信公众号粉丝)

    package com.weixin.sendmessage; import org.apache.commons.lang.StringUtils; import org.apache.http.H ...

  10. JAVA生成订单编号工具类

    JAVA根据时间戳和随机数方式生成订单编号工具类 OrderUtils.java package com.util; import java.text.DateFormat; import java. ...