Cookie
Cookie是实现会话的一种机制,类似session,区别Cookie它是客户端产生的。Cookie是在客户端存储,session是在服务端存储。Cookie是服务器在HTTP响应中附带传给浏览器的一个小的文本文件,一旦浏览器保存了某个Cookie,在之后的请求和响应过程中,会将此Cookie来回传递,这样就可以通过Cookie这个载体完成客户端和服务端的数据交互。
Cookie默认失效时间
一关浏览器,cookie就失效了,可以通过设置cookie的时间让它不失效,session做不到这一点
Cookie常用的方法
void setMaxAge() 设置Cookie的有效时间,单位为秒
int getMaxAge 获取Cookie的有效时间
String getName() 获取Cookie的name
String getValue() 获取Cookie的value
设置Cookie的有效时间
设置60秒,在60秒内,关掉浏览器重新打开,还是会有name=tom,60秒时间到就会没有
获取Cookie有效时间
改用控制台输出 值为-1
-1的意思是浏览器一关,cookie就失效
Session和Cookie的区别
session:保存在服务器
保存的数据是Object
会随着会话的结束而销毁
保存重要信息
cookie:保存在浏览器
保存的数据是String
可以长期保存在浏览器中
保存不重要信息
创建cookie 响应到客户端
读取cookie
请求服务端的cookie.jsp,把cookie读出来,再响应到服务端
读取Cookie名
java里面如何操作Cookie
在jsp和Servlet里面写都可以,本来就是java的一个类
创建cookie
随便访问一个页面,都是资源响应的过程,点进去可以看到浏览器默认的cookie,
Cookie里面有一对值 前面是Key 后面是value
响应的时候 带一个cookie过去
访问cookie.jsp服务器对cookie的操作 set-cookie:name=zhangsan
再刷新一次,发现Cookie多了一个name=zhangsan
重启tomcat,访问login.jsp发现name=zhangsan 还在 ,name=zhangsan是存在浏览器(客户端)当中,重启服务器不会影响
访问cookie2.jsp
客户端发送请求是name=zhangsan,服务器响应是name=tom即服务器对cookie进行操作(setcookie)
刷新一下,再次请求发现Cookie里面name=tom覆盖了原来的name=zhangsan
重启tomcat,Cookie还是存在name=tom