Java基本概念-session和cookie

9 篇文章 0 订阅
一 如何保存用户状态
 
 1 状态管理:对同一页面或不同页面多个请求维护页信息的过程
 
 1 http:超文本传输协议,特点是无状态,不保存客户端链接
 
 2 web容器要求必须能够保存用户状态,则通过session、cookie和application来实现
 
二 session(jsp的内置对象):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将用户信息保存在服务器端的内存中,信息比较安全但服务器端负担较重
 
 
三 include指令
 
 1 语法格式:<%@ include file=“xxx.jsp”%>
 

 2 表示含入:即将xxx.jsp页面的代码复制到本网页中


一 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类型的
 
 
 
       
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值