Cookie和Session

什么是Cookie?

- Cookie是服务器通知客户端保存键值对的一种技术。
- 客户端有了Cookie后,每次请求都发送给服务器。
- 每个Cookie的大小不能超过4kb。

如何创建Cookie?

Cookie cookie = new Cookie("key","value");
resp.addCookie(cookie);

服务器如何获取Cookie?

req.getCookies()

Cookie值的修改

方案一:
1、先创建一个要修改的同名(指的就是key)的Cookie对象
2、在构造器,同时赋于新的Cookie值。
3、调用response.addCookie( Cookie );

方案二:
1、先查找到需要修改的Cookie对象
2、调用setValue()方法赋于新的Cookie值。
3、调用response.addCookie()通知客户端保存修改

Cookie的生命控制

Cookie的生命控制指的是如何管理Cookie什么时候被销毁(删除)。

setMaxAge()
    正数,表示在指定的秒数后过期
    负数,表示浏览器一关,Cookie就会被删除(默认值是-1)
    零,表示马上删除Cookie

什么是Session会话?

1、Session就是一个接口(HttpSession)
2、Session就是会话。它用来维护一个客户端和服务端之间关联的一种技术。
3、每个客户端都有自己的一个Session会话。
4、Session会话中,我们经常用来保存用户登录之后的信息。

如何创建和获取Session

request.getSession()
    第一次调用时:创建Session会话
    之后调用都是获取前面创建好的Session会话对象

isNew():判断到底是不是刚创建出来的Session
    true:表示刚创建
    false:表示获取之前创建

每个会话都有一个身份证号码。也就是ID值,而且这个ID是唯一的。
getId()得到Session的会话id值。

Session域数据的存取

//数据存储
req.getSession().setAttribute("key","value");
//数据获取
resp.getWriter().write(attribute)

Session 生命控制周期

public void setMaxInactiveInterval(int interval) 

设置Session 的超时时间(以秒为单位),超过指定的时长,Session就会被销毁。

值为正数的时候,设定Session 的超时时长。
负数表示永不超时(极少使用)

public int getMaxInactiveInterval()获取Session 的超时时间。

public void invalidate() 让当前Session 会话马上超时无效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值