当前位置: 首页 > article >正文

删除Cookie原理

在这里插入图片描述
在这里插入图片描述

@WebServlet("/deletecookie")  // 这个注解指定了Servlet的URL映射路径
public class DeleteCookieServlet extends HttpServlet {  // 定义一个继承自HttpServlet的类
    @Override  // 重写父类的方法
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 创建一个新的Cookie对象
        Cookie cookie = new Cookie("name", "设置信息");  // "name"是Cookie的名称,"设置信息"是Cookie的值

        // 设置Cookie的路径
        cookie.setPath(request.getContextPath());  // 使用当前Web应用的上下文路径

        // 将Cookie的最大存活时间设置为0,这会导致浏览器立即删除这个Cookie
        cookie.setMaxAge(0);  // 0表示立即删除

        // 设置Cookie为HttpOnly,提高安全性
        cookie.setHttpOnly(true);  // true表示只允许HTTP(S)访问,禁止JavaScript等脚本访问

        // 将Cookie添加到HTTP响应中,发送给浏览器
        response.addCookie(cookie);

        // 在服务器控制台打印一条消息,表示Cookie已被删除
        System.out.println("删除了cookie");
    }
}
  1. Name(名称): 这是Cookie的标识符。例如,“username”。

  2. Value(值): 这是与Cookie名称相关联的实际数据。例如,“john_doe”。

  3. Domain(域): 指定哪些主机可以接收Cookie。例如,“example.com”。

  4. Path(路径): 指定服务器上的哪些路径可以接收Cookie。例如,"/"表示整个网站。

  5. Expiration(过期时间): 指定Cookie何时失效。可以是具体日期或"Session"(表示浏览器关闭时Cookie就失效)。

  6. Secure(安全标志): 如果设置为true,则Cookie只能通过HTTPS发送。

  7. HttpOnly(HTTP专用): 如果设置为true,JavaScript不能访问这个Cookie,这增加了安全性。

在您提供的代码中:

  • Cookie cookie = new Cookie("name", "设置信息") 设置了Name和Value。
  • cookie.setPath(request.getContextPath()) 设置了Path。
  • cookie.setMaxAge(0) 设置了Expiration(在这个例子中,0表示立即删除)。
  • cookie.setHttpOnly(true) 设置了HttpOnly标志。

这个图表和解释应该能帮助你更好地理解Cookie的结构和在代码中如何操作Cookie。记住,删除Cookie实际上是通过创建一个同名的新Cookie,并将其过期时间设置为过去的时间(在这个例子中是0,表示立即过期)来实现的。


http://www.kler.cn/news/305830.html

相关文章:

  • 【Unity】在Unity 3D中使用Spine开发2D动画
  • Java | Leetcode Java题解之第404题左叶子之和
  • SQL中的外键约束
  • 获取某宝拍立淘API接口:深度学习图像实现匹配和检索
  • WebGL系列教程八(GLSL着色器基础语法)
  • Android 13 固定systemUI的状态栏为黑底白字,不能被系统应用或者三方应用修改
  • USB组合设备——鼠标+键盘(两个接口实现)
  • OPENAIGC开发者大赛企业组AI黑马奖 | AIGC数智传媒解决方案
  • iPhone 16即将推出的5项苹果智能功能
  • Computer Vision的学习路线
  • 坐牢第三十八天(Qt)
  • Android SDK和NDK的区别
  • SSH软链接后门从入门到应急响应
  • Redis的常见问题
  • 鸿蒙交互事件开发07——手势竞争问题
  • 速通GPT:《Improving Language Understanding by Generative Pre-Training》全文解读
  • 前端开发的观察者模式
  • K8s 之Pod的定义及详细资源调用案例
  • NAT技术
  • 人工智能辅助汽车造型设计
  • 健身管理|基于java的健身管理系统小程序(源码+数据库+文档)
  • 数据结构与算法图论 并查集
  • 【Linux】调试和Git及进度条实现
  • 弹框调取阿里云播放器一直报错 TypeError: 没有为播放器指定容器
  • 注意!Facebook已移除细分定位排除受众的功能
  • 基于微信小程序的宠物之家的设计与实现
  • 备战软考Day02-数据结构与算法
  • 深度学习| 快速上手深度学习代码的阅读和改写
  • 6.1 溪降技术:绳结
  • 小阿轩yx-Zabbix企业级分布式监控环境部署