Session&Cookie(Introduction、Application)

时间:2022-12-21 18:08:55

一Session

1概念:

(1)session是会话,是同一连接者所有页面公有的内置对象
  (2)session是一段时间,从session创建开始,到session销毁结束,默认时间为30分钟(即从最后一次访问页面开始计时)
  (3)session可以有多次请求和响应
 2 特点:
  (1)数据存储在服务器的内存中,所以数据是安全的
  (2)耗费内存资源
 3 实现保存用户状态的原理:
  (1)客户端第一次请求服务器时,服务器会生成应该唯一的sessionid并响应发送给客户端,sessionid在各浏览器不能共享
  (2)客户端再次发送请求时,服务器会根据客户端发来的sessionid与服务器中存储的sessionid进行匹配,匹配成功则可以拿数据,不成功则分配新的sessionid和存储区域

4 session对象常用的方法
  (1)getId():获得当前session的sessionid
  (2)setAttribute():向session空间中存储对象
  (3)getAttribute():从当前session对象获得相匹配的对象
  (4)invalidate():销毁所有的session对象
  (5)removeAttribute():移除某一个指定的session对象
  (6)getCreationTime():获得当前session创建的时间
  (7)getcLastAcessedTime():获得客户端最后一次请求服务器的时间
  (8)setMaxlnactivelnterval():设置session的最大请求间隔时间,单位为秒
  (9)getMaxlnactivelnterval():获得session的最大请求间隔时间,单位为秒
 5 session将用户信息保存在服务器端的内存中,信息比较安全但服务器端负担较重

二 Cookie
 1 概念:
  (1)cookie不是内置对象,使用时需要创建
  (2)cookie的创建:Cookie cookie =new Cookie(“”,“”)
  (3)cookie的构造参数需要两个参数,一个参数是cookie的名称,一个参数是cookie的值
 2 特点:

(1)数据默认存储在浏览器内存中,叫临时cookie,所以数据是不够安全的
  (2)不会耗费内存资源
 3 cookie的常用方法:
  (1)setMaxAge():设置cookie的存活时间
  (2)getName():获得cookie的名称
  (3)getValue():获得cookie的值

4 请求和响应

  (1)response.addCookie():将Cookie发送给客户端,即将cookie的键和值写到浏览器中
  (2)request.getCookies():从浏览器中获取所有的cookie内容
 5 cookie的存储时间:
 (1)setMaxAge():立即过期
  (2)setMaxAge():设置cookie的存活时间,单位为秒
 6 cookie默认不识别中文,需要设置后才可以使用
  (1)需要使用URLEncoder的encode方法将汉字编码后存储:userName = URLEncoder.encode(userName, "utf-8");
  (2)需要使用URLDecoder的decode方法将汉字装换编码后读取:userName = URLDecoder.decode(userName,"utf-8");

7 cookie的其他用法(仅了解):
  (1)设置域:setDomain(“其他网址”):本网址的cookie可以被其他网址读取
  (2)设置路径:setPath(“/....”):为了区分表示不同路径下的相同的cookie键
三 Session和Cookie的区别:
 1 存储位置:
  (1)session:数据存储在服务器的内存中,耗费内存资源
  (2)cookie:数据默认存储在浏览器内存中,不会耗费内存资源
 2 数据安全性:
  (1)session:信息比较安全
  (2)cookie:信息不够安全

3 保存的时间: 
  (1)session:不能持久地保存信息 
  (2)cookie:能够长期保存信息 
 4 值类型: 
  (1)session:值是Object类型的 
  (2)cookie:值是String类型的
---------------------
作者:gongchengshiaa
来源:CSDN
原文:https://blog.csdn.net/gongchengshiaa/article/details/54630399
版权声明:本文为博主原创文章,转载请附上博文链接!