什么是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 会话马上超时无效。