cookie 和 session

cookie

1、Cookie技术:在浏览器端保存小量信息的技术;
2、Cookie数据的产生:
创建:web服务器创建,发送给浏览器
保存:浏览器端存储(硬盘上)

cookie的基本API:
创建: Cookie cookie = new Cookie(name,value);
获取name值: String name = cookie.getName();
获取value值: Strign name = cookie.getValue();
发送cookie: response.addCookie(cookie);
设置cookie的值: cookie.setValue(value);
获取所有cookie: Cookie[] getCookies() = rquest.getCookies();

cookie的存活时间: 默认是会话级别的
1、Cookie分类:会话级别,持久型;
2、Cookie创建后:默认是会话级别的;
3、设置Cookie的最大存活时间:cookie.setMaxAge(int second);

cookie的有效路径:
Cookie在其设置的有效路径和其子路径下能够被访问到

1、Cookie的有效路径:Cookie能够被访问到的路径;
2、Cookie有效路径特点:能够在有效路径或其子路径下获取到Cookie;
3、有效路径:
通常设置Cookie的有效路径为"/"或不设置;

- Cookie:服务器在客户端(浏览器)存储数据的技术;
- Cookie分类:
  - 会话级别:没有设置最大存活时间的cookie,浏览器关闭后消失;
  - 持久级别:设置了最大存活时间,浏览器关闭后不会消失;
- Cookie基本API:
  - 创建Cookie:Cookie c = new Cookie("name","zhangsan");
  - 获取name值:c.getName();
  - 获取value值:c.getValue();
  - 将cookie响应给浏览器:response.addCookie(c);
  - 获取所有的cookie:Cookie[]  cookies = request.getCookies();
- Cookie的有效时间:
  - setMaxAge(int seconds):以秒为单位设置cookie的存活时间;
- Cookie的有效路径:
  - setPath(String path):设置cookie的有效路径,在这个路径及其子路径下有效;
- Cookie删除:
  - 客户端:
    - 会话级别的cookie,关闭浏览器后cookie立即消失;
    - 禁用cookie;
    - 手动清除cookie;
  - 服务端:
    - 通过Servlet,将原来的cookie置换;
- Cookie的优势及弊端:
  - 优势:
    - 为服务端标识用户提供依据;
    - 减轻了服务端数据存储的压力;
  - 弊端:
    - 数据存储在客户端不安全;
    - 存储的数据大小受限,一个cookie存储的数据最大为4K;

session

session是服务器为每个访问的客户端用户创建的一个保存在服务器上的容器,他可以在多个request之间实现共享

session的常用API:


说明

request.getSession();获取当前session

void setAttribute(String name,Object value)将一个对象与一个名称关联之后存储到session中

Object getAttribute( String name)通过名称获取session中的数据

void removeAttribute(String name)根据指定名称删除session中的数据

session.getId()获取session的id

ression.invalidate()使当前session失效

session的标识用户原理:
1、Session标识用户的本质:Session通过服务器标识浏览器;
2、Session标识用户的实现:基于Cookie;
3、Session标识用户的流程:
第一步:第一次创建session对象时,服务器把sessionid以Cookie的形式发送给浏览器;
第二步:浏览器第二次访问服务器的时候,会携带这个Cookie;
第三步:服务器根据浏览器上次存储在Cookie中的sessionId,查找到上次的Session;

sesiion的声明周期:
创建时机:第一次调用reqeust.getSession(); tomcat创建
使用session:域对象
- 作用:存储数据 API: setAttribute(name,value) getAttribute(name)
- 特点:在服务器端共享数据(多次请求和响应之间)
销毁:
1、session手动销毁:session.invilidate();
2、过期销毁:session默认存活时间–30min
3、非正常关闭tomcat;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NoBugsBoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值