Cookie饼干

简介: Cookie饼干

1、Cookie 饼干

什么是 Cookie?

1、Cookie 翻译过来是饼干的意思。

2、Cookie 是服务器通知客户端保存键值对的一种技术。

3、客户端有了 Cookie 后,每次请求都发送给服务器。

4、每个 Cookie 的大小不能超过 4kb

如何创建 Cookie?

image.png

Servlet 程序中的代码:

protected void createCookie(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
//1 创建 Cookie 对象
Cookie cookie = new Cookie("key4", "value4");
//2 通知客户端保存 Cookie
resp.addCookie(cookie);
//1 创建 Cookie 对象
Cookie cookie1 = new Cookie("key5", "value5");
//2 通知客户端保存 Cookie
resp.addCookie(cookie1);
resp.getWriter().write("Cookie 创建成功");
}

服务器如何获取Cookie

服务器获取客户端的 Cookie 只需要一行代码:req.getCookies():Cookie[]

image.png

public class CookieUtils {
/**
* 查找指定名称的 Cookie 对象
* @param name
* @param cookies
* @return
*/
public static Cookie findCookie(String name , Cookie[] cookies){
if (name == null || cookies == null || cookies.length == 0) {
return null;
}
for (Cookie cookie : cookies) {
if (name.equals(cookie.getName())) {
return cookie;
    }
  }
return null;
  }
}

Servlet 程序中的代码:

protected void getCookie(HttpServletRequest req, HttpServletResponse resp) throwsServletException,IOException {
Cookie[] cookies = req.getCookies();
for (Cookie cookie : cookies) {
// getName 方法返回 Cookie 的 key(名)
// getValue 方法返回 Cookie 的 value 值
resp.getWriter().write("Cookie[" + cookie.getName() + "=" + cookie.getValue()+"]<br/>");}
Cookie iWantCookie = CookieUtils.findCookie("key1", cookies);
// for (Cookie cookie : cookies) {
// if ("key2".equals(cookie.getName())) {
// iWantCookie = cookie;
// break;
// }
// }
// 如果不等于 null,说明赋过值,也就是找到了需要的 Cookie
if (iWantCookie != null) {
resp.getWriter().write("找到了需要的 Cookie");
}
}

相关文章
|
7月前
|
JavaScript 前端开发
谁能拒绝一个会动的皮卡丘挂件
谁能拒绝一个会动的皮卡丘挂件
61 0
|
7月前
|
存储 搜索推荐 UED
通俗科普:Cookie和Session是什么?
通俗科普:Cookie和Session是什么?
62 0
|
C++
LeetCode 455. Assign Cookies(分发饼干)
Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. Each child i has a greed factor gi, which is the minimum size of a cookie that the child will be content with; and each cookie j has a size sj. If sj>= gi, we can assign
80 0
|
数据采集 前端开发 安全
【安全合规】python爬虫从0到1 - ajax的post请求(肯德基餐厅位置查询)
python爬虫从0到1 - ajax的post请求(肯德基餐厅位置查询)
【安全合规】python爬虫从0到1 - ajax的post请求(肯德基餐厅位置查询)
|
Web App开发 安全 前端开发
预测最近面试会考 Cookie 的 SameSite 属性
本文就给大家介绍一下浏览器的 Cookie 以及这个"火热"的 SameSite 属性。
168 0
预测最近面试会考 Cookie 的 SameSite 属性
|
数据采集 数据安全/隐私保护 Python
python爬虫携带cookie访问QQ空间
python爬虫携带cookie访问QQ空间
1099 0
python爬虫携带cookie访问QQ空间
|
定位技术
ctfshow-网络迷踪-初学又练(离谱!一张竞选海报判断经纬度)
ctf.show 网络迷踪模块第3关,题目中给了一张图片,图片最显眼的地方有一张海报,需要根据信息提交经纬度,图片中的位置应该是外国,这里推荐使用谷歌地图来查经纬度
545 0
ctfshow-网络迷踪-初学又练(离谱!一张竞选海报判断经纬度)
|
Java 开发者
Cookie 的生命|学习笔记
快速学习 Cookie 的生命
110 0
|
存储 编解码 应用服务中间件
扒一扒客户端会话技术Cookie的底裤
cook:客户端会话技术,将数据保存到客户端 在服务器端创建Cookie,返回给客户端
384 0