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");
}
}

相关文章
|
存储
JavaWeb 速通Cookie
JavaWeb——会话技术 Cookie 内容分享。
68 0
|
存储 Java 应用服务中间件
一文学懂Cookie与Session的区别
一文学懂Cookie与Session的区别
125 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
83 0
|
Web App开发 安全 前端开发
预测最近面试会考 Cookie 的 SameSite 属性
本文就给大家介绍一下浏览器的 Cookie 以及这个"火热"的 SameSite 属性。
174 0
预测最近面试会考 Cookie 的 SameSite 属性
|
数据采集 数据安全/隐私保护 Python
python爬虫携带cookie访问QQ空间
python爬虫携带cookie访问QQ空间
1177 0
python爬虫携带cookie访问QQ空间
|
Java 开发者
Cookie 的生命|学习笔记
快速学习 Cookie 的生命
113 0
|
存储 编解码 应用服务中间件
扒一扒客户端会话技术Cookie的底裤
cook:客户端会话技术,将数据保存到客户端 在服务器端创建Cookie,返回给客户端
387 0
|
Web App开发 安全 测试技术