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

Cookie的详解使用(创建,获取,销毁)

文章目录

  • Cookie的详解使用(创建,获取,销毁)
    • 1、Cookie是什么
    • 2、cookie的常用方法
    • 3、cookie的构造和获取代码演示
      • SetCookieServlet.java
      • GetCookieServlet.java
      • web.xml
      • 运行结果如下
    • 4、Cookie的销毁
      • DestoryCookieServlet
      • web.xml
      • 运行结果如下,刚才设置的cookie已经没了

Cookie的详解使用(创建,获取,销毁)

1、Cookie是什么

  1. cookie是在浏览器中保存的

  2. 如果想要使用cookie要保证我们的浏览器是开启cookie,所以说有一定的弊端,如果浏览器没有开启cookie,就不能再使用cookie了

  3. cookie的大小是有限制的,通常是4096byte

  4. cookie的保存是以键值对的形式存在的

2、cookie的常用方法

//1.cookie的构造方法,目的是实例化出来cookie对象
Cookie(String name,String value)
//2.设置cookie的方法
setValue(String value) //修改cookie的值
getValue(String value) //获得cookie的值    
getName(String value) //获得cookie的键    
setMaxAge(int time) //设置cookie的有效时间
//3.要将cookie发送到浏览器
response.addCookie(Cookie cookie);
//4.获得所有cookie
request.getCookies();

3、cookie的构造和获取代码演示

SetCookieServlet.java

/** Copyright (c) 2020, 2023, fpl1116.cn All rights reserved.**/
package cn.fpl.servlet;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** <p>Project: JavaWebDemo - SetCookieServlet</p>* <p>Powered by fpl1116 On 2023-12-27 09:50:33</p>* <p>描述:<p>** @author fpl1116 [2391940642@qq.com]* @version 1.0* @since 1.8*/
public class SetCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//创建cookie对象Cookie cookie = new Cookie("fpl","fpl1116");//设置过期时间cookie.setMaxAge(60*60*24);//发送浏览器响应resp.addCookie(cookie);}
}

GetCookieServlet.java

/** Copyright (c) 2020, 2023, fpl1116.cn All rights reserved.**/
package cn.fpl.servlet;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;/*** <p>Project: JavaWebDemo - SetCookieServlet</p>* <p>Powered by fpl1116 On 2023-12-27 09:50:33</p>* <p>描述:<p>** @author fpl1116 [2391940642@qq.com]* @version 1.0* @since 1.8*/
public class GetCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Cookie[] cookies = req.getCookies();for(Cookie cookie : cookies){System.out.println("=============");System.out.println(cookie.getName());System.out.println(cookie.getValue());}}
}

web.xml

<servlet><servlet-name>setcookie</servlet-name><servlet-class>cn.fpl.servlet.SetCookieServlet</servlet-class></servlet><servlet-mapping><servlet-name>setcookie</servlet-name><url-pattern>/setcookie</url-pattern></servlet-mapping><servlet><servlet-name>getcookie</servlet-name><servlet-class>cn.fpl.servlet.GetCookieServlet</servlet-class></servlet><servlet-mapping><servlet-name>getcookie</servlet-name><url-pattern>/getcookie</url-pattern></servlet-mapping>

运行结果如下

setcookie
在这里插入图片描述

getcookie

在这里插入图片描述

在这里插入图片描述

4、Cookie的销毁

DestoryCookieServlet

package cn.fpl.servlet;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;public class DestoryCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获得所有cookieCookie[] cookieArr = req.getCookies();for (Cookie cookie : cookieArr) {if("fpl".equals(cookie.getName())){//修改fpl的失效时间cookie.setMaxAge(0);resp.addCookie(cookie);}}}
}

web.xml

<servlet><servlet-name>destoryCookie</servlet-name><servlet-class>cn.fpl.servlet.DestoryCookieServlet</servlet-class></servlet><servlet-mapping><servlet-name>destoryCookie</servlet-name><url-pattern>/destoryCookie</url-pattern></servlet-mapping>

运行结果如下,刚才设置的cookie已经没了

在这里插入图片描述

http://www.lryc.cn/news/268382.html

相关文章:

  • shell脚本自动化部署Zabbix4.2(修改脚本替换版本)
  • java SSM课程平台系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
  • k8s二进制最终部署(网络 负载均衡和master高可用)
  • 【51单片机系列】DS1302时钟模块
  • 深入理解C语言中冒泡排序(优化)
  • 低代码选型注意事项
  • Caffeine--缓存组件
  • Centos7:Jenkins+gitlab+node项目启动(1)
  • starrocks集群fe/be节点进程守护脚本
  • 奇富科技跻身国际AI学术顶级会议ICASSP 2024,AI智能感知能力迈入新纪元
  • 如何在Android Termux中使用SFTP实现远程传输文件
  • 高频知识汇总 | 【操作系统】面试题汇总(万字长博通俗易懂)
  • 【前端框架】NPM概述及使用简介
  • C# LINQ
  • 云原生机器学习平台cube-studio开源项目及代码简要介绍
  • 大小端存储是什么鬼?
  • WEB:探索开源PDF.js技术应用
  • 数据分析之词云图绘制
  • 【赠书第13期】边缘计算系统设计与实践
  • 数据库01_增删改查
  • MySQL——进阶篇
  • Python 网络编程之搭建简易服务器和客户端
  • 往年面试精选题目(前50道)
  • 解决服务器Tab键不能补全问题
  • 人工智能 机器学习 深度学习:概念,关系,及区别说明
  • 数据库——LAMP的搭建及MySQL基操
  • 抗原设计与兔单B细胞技术的结合-卡梅德生物
  • 在uniapp中使用背景渐变色与背景图不生效问题
  • Java中XML的解析
  • React快速入门之交互性