Cookie 和 Session 归纳

48 篇文章 0 订阅
41 篇文章 0 订阅

首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
首先介绍下基本概念:
cookie是服务器通知客户端让其保存健值对的一种形式,客户端有了cookie之后,每次请求就会发送给服务器,每个cookie最大是4kb
**

服务器创建cookie

**

1Cookie cookie = new Cookie("","");		创建一个cookie
2response.addCookie(cookie);				通知客户端保存这个cookie
之后就会在响应头中添加cookie信息: Set-Cookie 
当浏览器收到了响应之后,就会去检查 如果没有同名的cookie 就直接创建 如果有同名的就直接覆盖

**

服务器获取cookie

**

在客户端请求服务器的时候 请求头里头会有Cookie  所以可以用:
request.getCookies();来获取全部的请求头

**

cookie的生存时间

**
在这里插入图片描述

1默认是负数,即浏览器关闭后就会消失  Expires/Max-Age: Session 表示一次会话
2设置为0 在浏览器收到响应后就马上删除cookie ~
3正数: 表示过了足够的秒数才会删除

**

cookie有效路径Path的设置

**

1  若 path =  /当前工程 表示:
	当我们创建一个cookie的时候 默认的path是 /当前工程,所以就会导致客户端请求该工程下的所有资源的时候 都会把这个cookie发送给服务器~  
2 若 path=/当前工程/aaa:
	表示我们请求是/当前工程/aaa/*	所有资源的时候才会发送给服务器~  这样子就可以实现过滤

**

在jsp中使用客户端发送过来的cookie

**

利用jsp的隐藏对象cookie来使用 ${cookie.}

分割~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Session是会话 保存数据在服务器端

1获取Session对象request.getSession() 第一次调用就是创建 之后调用都是获取
Session api:
		session.isNew() 判断是否是刚创建出来的
		session.getID()  获取id
		setAttribute()同一个session可以多次调用 值可以是字符串 也可以是自定义对象
		getAttribute()获取值

**

Session的存活时间

**
在这里插入图片描述

1getMaxInactiveInterval():获取session的的默认超时时间  为30分钟 在tomcat web.xml配置文件中配置

在这里插入图片描述

如果想要更改我们的超时时间 
方式一:只需要在自己工程里的web.xml中配置如上命令即可 配置后就不会受外面的默认时间影响了~
方式二:setMaxInactiveInterval():修改当前session的超时时间 以秒为单位~
			这里有个注意的点 如果我们设置了所需要的时间 在这个时间内我们重新请求后 会刷新时间重新设置为该时间 所以该时间表示的真正含义是:客户端和服务器之间两次请求的时间间隔
	方式二的优先级大于方式1

正数:存活时间
负数或者0:永不清除
想要立马清除session:session.invalidate()

**

tomcat下cookie 和 session的内部机制

**

在tomcat服务器中
1 如果一开始客户端没有名为JSESSIONID的Cookie,服务器在调用request.getSession() 之后会创建一个Cookie 名字就是JSESSIONID 值是该session的id
2服务器通过响应头把session带给客户端 客户端就创建了该cookie
3此后客户端的所有请求都会把该cookie发送给服务器 服务器在调用request.getSession()的时候会查看有没有名叫JSESSIONID的Cookie,有的话就到服务器内存中找并且返回存在的Session对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值