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

相关文章
|
3月前
|
弹性计算 人工智能 NoSQL
2026年阿里云服务器购买指南:价格体系与选型参考
阿里云服务器主要分为轻量应用服务器与云服务器 ECS 两大品类,覆盖从个人开发到企业级业务的全场景需求。不同实例类型在配置、性能、价格上差异显著,用户需结合业务规模与预算选择适配方案。本文基于官方定价与实测数据,从产品分类、价格详情、选型建议三方面展开解析,为用户提供客观购买参考。
|
20天前
|
人工智能 Linux API
一行命令打造多龙虾Agent军团!阿里云/本地部署OpenClaw+多Agent+百炼api配置实战指南
2026年,AI代理框架OpenClaw凭借ACP协议与多Agent架构彻底颠覆AI协作模式,从早期单兵作战的草莽工具,进化为支持多智能体隔离、通道独立绑定、专业分工协同的正规军平台。中文社区亲切称其为**龙虾**,如今通过一行`openclaw agents add`命令,即可快速创建专属AI助手军团,实现写作、开发、作图、选题等任务的专业化分工,彻底告别上下文混乱、记忆污染、权限交叉等痛点。本文从多Agent核心逻辑讲起,提供完整命令、可直接复制的配置文件,同时覆盖2026年阿里云云端部署、MacOS/Linux/Windows11本地部署,以及阿里云百炼Coding Plan免费API配
685 1
|
3月前
|
人工智能 自然语言处理 数据可视化
2026年阿里云万小智 AI 建站系统介绍及测评
阿里云万小智 AI 建站系统基于通义大模型开发,以 “低门槛、高效率、全集成” 为核心优势,无需专业开发能力即可快速搭建网站,分为基础版、标准版、企业版三个层级,覆盖从个人博客到中大型企业官网的需求,且购买即赠.CN 域名,降低建站成本。以下从核心特性、版本差异、价格规则及场景适配展开解析,提供客观选型参考。
|
4月前
|
人工智能 自然语言处理 关系型数据库
Pipeline AI Agent - 让数据管道听懂人话
TIS v5.0推出国内首个大数据原生Pipeline AI Agent,通过自然语言对话实现数据管道智能创建。告别繁琐配置,AI自动完成插件选择、参数填充与任务执行,支持MySQL、Paimon等主流数据源,结合SSE实时推送与Plan-and-Execute架构,3分钟极速构建同步链路,大幅降低使用门槛,开启数据集成“对话时代”。
375 1
|
Oracle Java 关系型数据库
实时计算 Flink版操作报错合集之本地打成jar包,运行报错,idea运行不报错,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
390 6
|
12月前
|
SQL IDE 关系型数据库
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
647 0
|
监控 安全 网络安全
使用 Scapy 库编写 ICMP 洪水脚本
使用 Scapy 库编写 ICMP 洪水脚本
使用 Scapy 库编写 ICMP 洪水脚本
|
机器学习/深度学习 数据挖掘
机器学习之聚类——模糊聚类FCM
机器学习之聚类——模糊聚类FCM
768 4
|
存储 安全 Java
HashMap详解
HashMap详解
|
Kubernetes 调度 Docker
Kubernetes(K8S) Pod 介绍
Kubernetes(K8S) Pod 介绍
416 0