JavaWeb中Cookie会话管理,理解Http无状态处理机制
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512995108961387015/
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无状态处理机制的更多相关文章
- JavaWeb中Session会话管理,理解Http无状态处理机制
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512955067434271246/ 1.<Servlet简单实现开发部署过程> 2.<Serv ...
- Java中的会话管理——HttpServlet,Cookies,URL Rewriting(译)
参考谷歌翻译,关键字直接使用英文,原文地址:http://www.journaldev.com/1907/java-session-management-servlet-httpsession-url ...
- Java 中的会话管理—— HttpServlet,Cookies,URL Rewriting(转)
索引 1.什么是 Session? 2.Java 中的会话管理—— Cookie 3.Java Servlet 中的 Session —— HttpSession 理解 JSESSIONID Cook ...
- React 中的 Component、PureComponent、无状态组件 之间的比较
React 中的 Component.PureComponent.无状态组件之间的比较 table th:first-of-type { width: 150px; } 组件类型 说明 React.c ...
- 对Django框架中Cookie的简单理解
概念的理解:首先Cookie和Session一样,是django中用于视图保持状态的方案之一.为什么要进行视图保留呢,这是因为浏览器在向服务器发出请求时,服务器不会像人一样,有记忆,服务器像鱼一样,在 ...
- Servle中的会话管理
最近整理了下会话管理的相关笔记,以下做个总结: 一.会话管理(HttpSession) 1.Web服务器跟踪客户状态的四种方法: 1).使用Servlet API的Session机制(常用) 2).使 ...
- iOS中Cookie的管理
平常的app开发中只调用Rest Api可能用不到Cookie,但是当要在App中内嵌WebView就有可能要用到.最近用到了这一块的东西,总结一下. Cookie原理 关于cookie的原理简单描述 ...
- React中的高阶组件,无状态组件,PureComponent
1. 高阶组件 React中的高阶组件是一个函数,不是一个组件. 函数的入参有一个React组件和一些参数,返回值是一个包装后的React组件.相当于将输入的React组件进行了一些增强.React的 ...
- Spring3 Security 中配置会话管理
账户登录时,要求一个账户同时只能一人登录,配置中的步骤有三个: 1.在web.xml中配置HttpSessionEventPublisher <listener> <listener ...
随机推荐
- SharedWorker实现多标签页联动计时器
web workers对于每个前端开发者并不陌生,在mdn中的定义:Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法.线程可以执行任务而不干扰用户界面.此外,他们可以使用XML ...
- 1、Linux下安装JDK
1.Linux下安装JDK 1 权限设置(可忽略) 1.1 安装过程与Windows安装过程相差不多,下载解压安装 1.切换root用户( 如果当前登录的用户权限够的话,请忽略这步) 由于创建目录的位 ...
- 前端浅谈---协议相关(TCP连接)
TCP连接 http的描述里面,我弱化了交互过程的描述,因为它相对复杂.所以我在此单独描述.客户端和服务端传递数据时过程相对谨慎和复杂,主要是开始和结束的过程.而这整个过程就是TCP连接.连接流程大体 ...
- 教会你彻底解决android studio c/c++ jni代码无法跳转
时不时总会遇到原来c c++ jni代码跳转很欢乐,突然也不知道咋滴了build也能build成功,运行也能正常运行,就是代码不能跳转了,首先来科普下一些背景知识. 如果让代码跳转起来,大概需要做哪些 ...
- c++模板类的使用,编译的问题
1,模板类编译的问题 前两天在写代码时,把模板类的声明和分开放在两个文件中了,类似于下面这样: stack.hpp: #ifndef _STACK_HPP #define _STACK_HPP tem ...
- mysql 禁止自动提交设置
mysql禁止自动提交的设置, 在my.ini文件里加上如下的一句便可 init_connect='SET autocommit=0' 但是有个问题,对root用户进行autocommit变量的查询, ...
- centos使用docker安装tomcat8
下载镜像 docker pull tomcat:8 启动 docker run -d -p 8080:8080 -v /data/tomcat/webapps/:/usr/local/tomcat/w ...
- JAVA使用经纬度通过腾讯地图API获取详细地址
官方文档:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder package com.weixin.map; ...
- IDEA设置调用方法时提示方法上的注释
IDEA设置代码注释提示,代码提示,鼠标放上面提示方法的注解信息 打开file-->setting-->Editor-->General,将Show quick documentat ...
- 【LeetCode】38. 外观数列 Count and Say
作者: 负雪明烛 id: fuxuemingzhu 公众号:负雪明烛 本文关键词:LeetCode,力扣,算法,算法题,外观数列,Count and Say,刷题群 目录 题目描述 题目大意 解题方法 ...