cookie与session的区别

例如在会话的过程中,需要记住用用户购买的商品,且在用户结账的时候,可以记下购买的商品,并且进行结账.

在会话过程中就必要要解决这个问题.那么其中就必须要掌握cookie 和session

我们可以通过servlet技术来保存数据

ServletContext,request ;这个可以保存数据但是数据只是在一次存储中用到,显然和我们要解决的问题是不可以的

引进:Cookie 和session 技术,这两个技术都是用来 保存 用户购买商品信息的据说(这是她最常用到的地方)

//下面以购买商品这个为例子进行讲解

●Cookie技术:

Cookie 是一个 基于客户端的技术 ,她是将 用户购买的商品信息 保存在用户自己的 浏览器中,那么只要用户购买了就会保存下来,

只有在最终用户 点击结账(即提交到服务器里头去) 时候 ,这样就这可以结账了

cookie之细枝末节:

一个cookie 只能标识一种信息; 每个cookie 至少 含有 一个标识该信息的名称(NAME) 和 设置值(VALUE); 且 name 信息是 cookie的 唯一 具有识别的,换句话说 你想找到这个cookie 那么就找这个name值;一个 WEB站点 ,一次可以给 WEB浏览器 传递多个Cookie;一个 web浏览器 也可以存储多个 WEB站点 传递过来的Cookie;一个 浏览器 最多可以存放300个cookie,一个 站点 最多可以发送 20个cookie; 且每个传送的cookie的大小限制为4KB;如果创建一个cookie,将她发送到浏览器,那么她默认是一个会话级别的(即存储在浏览器里头),当用户关掉浏览器时,她就给释放了,要是想永久存放(即将浏览器里的cookie存放到磁盘里头),那么需要用到maxAge技术,并且这里要传入一个以毫秒为单位的时间.(既然将到了设置永久cookie,那么问题来了怎么删除永久cookie呢??) 删除永久cookie:将cookie的最大失效设置为0,注意了,删除cookie时,path必须一致,否则就无法删除.

●Session是一个 基于服务器的技术 ,她是直接将购买的商品直接保存到服务器端 , 针对用户的浏览器不同而不同(这是因为 每次session对有做一个id),

当用户点击结账的时候, 此时根据浏览器的信息(即session的生成ID) ,浏览器带过来的信息 ,再再找到 购买的商品,从给用户结账

session的创建:

request.getSession();这个创建的方法自己在创建是会做一个判断,判断这个session是否在当前的浏览器中已将创建过的session对象; 要是已将存在,那么她这里的对象就是session对象的引用;

实现session域的数据共享:获得session对象后,再通过调用session的api—–setAttribute(),getAttribute(),removeAttribute()注意,不同的浏览器,创建的session对象是不同;这是因为 在访问的时候,回写的 响应中靠session的id号来实现,在下次访问的时候,找到对应的session对象. session的原理到底是怎么样的呢?首先通过回写cookie对象实现 name=value jsessionid=session的id号 ; 在关闭浏览器之后,实现再次打开浏览器时,任可以找到 之前的 session对象? 通过 设置cookie的有效期

通过上面的操作可以关闭了浏览器后,还可以找到session对象;

要是浏览器禁用了cookie,要怎么获得session对象呢? 通过url重写的方法实现,在url地址后拼接上 jsessionid=session的id号

总结cookie和session 都可以存放数据,她们有什么区别呢? cookie是将用户的数据写到用户自己的浏览器中; session是将用户的数据写到用户独占的session中(服务器端);

,走自己的路,让别人说去吧

cookie与session的区别

相关文章:

你感兴趣的文章:

标签云: