Servlet状态管理

Servlet状态管理

1.http协议

每次一个新的请求,重新构建request和response,一旦重新构建,之前request和response上绑定的数据就会丢失。这里吧http协议称为“无状态协议”。
可以通过上下文(ServletContext)绑定数据;上下文的特点:只要容器没有关闭,应用没有删除,上下文对象就一直存在。

2.Cookie

概念:浏览器在访问服务器的时候,它会将部分信息以set_cookie消息头的方式保存在本地,浏览器再次访问的时候,会将数据以cookie消息头的方式发送给浏览器,达到一种保存状态。
2.1:cookie是存放到本地浏览器的,默认会随着浏览器的关闭而清除–(也就是放在内存中);
2.2:cookie可以通过setMaxAge(时间)的方式存放到硬盘中,在浏览器关闭后不会消失,除非到达有效时间。

//cookie的存储形式key=value;key=value;....
Cookie  c=new Cookie("username",URLEncoder.encode("cxk"));
//设置cookie的有效期
//时间小于0保存在内存上,大于0保存在硬盘上
c.setMaxAge(60*60);
resp.addCookie(c);

3.Session

概念:浏览器在访问服务器的时候,服务器会创建一个session对象(该对象有唯一的id),服务器会以cookie消息头的方式把id存储到本地浏览器中,session对象存放在服务器。当浏览器做下一次的操作的时候,会按照这个id去和服务器配对,就可以保证状态的保存。
session操作过程

session的存活时间:(默认情况下)浏览器关闭以后session就失效了(浏览器一旦关闭,sessionId就没了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值