回话技术简短总结

会话技术
1.会话技术概述
(1)什么是会话?
浏览器访问服务器开始, 到最后访问服务器结束,关闭浏览器位置, 这期间产生的多次请求和响应加在一起就称之为是一次会话.
(2)如何保存会话中产生的数据
可以尝试使用之前学习的过域对象来保存会话中的数据
但是request域太小了
ServletContext域太大了
利用Cookie和Session可以保存会话中产生的数据

2.Cookie
Set-Cookie响应头和Cookie请求头

Cookie的API
(1)创建Cookie
Cookie cookie = new Cookie(name, value);

(2)将Cookie添加到响应中(发送给浏览器)
response.addCookie(cookie);

(3)获取请求中带过来的所有Cookie(对象组成的数据)
Cookie[] cs = request.getCookies();

(4)删除Cookie
	再发一个同名/同path的Cookie, 并设置Cookie的生存时间为0, 发送给浏览器即可!

(5)Cookie的常用方法
	getName()
	getValue()
	setValue()
	!!setMaxAge()
	!!setPath()

3.Session
(1)Session的原理
在服务器中为每一个浏览器创建一个Session域对象, 专门用来保存当前浏览器和服务器之间产生的会话数据.

(2)Session是一个域对象
setAttribute()
getAttribute()
removeAttribute()
生命周期
创建: 第一次调用request.getSession方法
销毁:(1)超时销毁 (2)自杀 (3)意外身亡
作用范围:整个会话范围内
主要功能:在整个会话范围内共享数据

(3)如何在浏览器关闭之前的session

	由于session创建之后, 服务器会将Session的id作为Cookie发送给浏览器保存, 方便浏览器下次来访问服务器时, 可以通过Cookie将Session的id带给服务器, 这样就可以找到之前的session. 如果浏览器中途关闭, Cookie会丢失(服务器默认发送的Cookie是会话级别的Cookie), session的id也会丢失, 所以再次访问服务器时, 找不到之前的session.

解决方案:
在创建session后, 服务器会向浏览器发送Cookie来保存session的id, 我们也可以向浏览器发送Cookie, 也保存session的id, 区别是我们发送的Cookie, 可以设置最大生存时间, 这个Cookie将会保存在硬盘上, 即使浏览器关闭, Cookie也不会丢失, 下次来访问服务器仍然可以带着session的id, 也可以获取之前的之前.
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值