目录
Cookie,Session讲解
一,会话:用户打开了一个浏览器,点击了很多超链接,访问了多个web资源,关闭浏览器,这个过程称为会话。
一个网站如何证明你来过?
客户端 服务端
1,服务端给客户端一个信件,客户端下次访问带上信件,就可以了,cookie
2,服务器登记你来过,下次你来的时候我来匹配你,seesion
二,保存会话的两种方式
cookie:客户端技术(客户端通过响应拿到信件,通过请求带到服务器)
seesion:服务器技术,可以保存用户的会话信息,我们可以把数据放在seesion中
常见应用:网站登录之后,下次就不需要登录了,直接访问
新建一个web项目,导入包,pom文件直接删除留下头文件即可。
第一次访问,没有内容,服务器给客户端一个cookie
第二次访问
这样的cookie关闭浏览器就会消失,所以可以设置一个时间限制,保证再打开浏览器也会存在
再次运行,查看
cookie
1.从请求中拿到cookie信息
2.服务器响应给客户端cookie
1,cookie[] cookies = req. getcookiesO; //获得Cookie
2,cookie. getName(); //获得cookie中的key
3,cookie. getvalue(); //获得cookie中的v1aue
4,new Cookie("lastLoginTime", system. currentTimeMillis(+""); //新建一个cookie
5,cookie. setMaxAge (24*60*60); //设置cookie的有 效期
6,resp. addcookie(cookie); //响应给客户端- - 个cookie
cookie: - -般会保存在本地的用户目录下appdata;
-个网站cookie是否存在上限!聊聊细节问题
● 一个Cookie只能保存一 个信息;
● 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie; .
● Cookie大小有限制4kb;
● 300个cookie浏览器上限
删除Cookie;
● 不设置有效期,关闭浏览器,自动失效;
● 设置有效期时间为0 ;
代码:
删除cookie
先运行两次c1,有了cookie后,再输入c2,会删除cookie
编码与解码
seesion(重点)
什么是Session:
●服务器会给每一个用户(浏览器)创建一个Seesion对象;
●一个Seesion独占-个浏览器, 只要浏览器没有关闭,这个Session就存在;
●用户登录之后,整个网站它都可以访问! -->保存用户的信息;保存购物车的信息…
Session和cookie的区别:
●Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
●Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息 ,减少服务器资源的浪费)
●Session对象由服务创建;
使用场景:
●保存一个登录用户的信息;
●购物车信息;
●在整个网站中经常会使用的数据,我们将它保存在Session中;
使用Session:
存入数据
得到数据
注销seesion
也可以在web.xml中设置,会话自动过期