Cookies

Cookies

Cookies是存储在客户机的文本文件,它们保存了大量轨迹信息。在servlet技术基础上,JSP显然能够提供对HTTP cookies的支持。
使用Cookies的几个步骤:
1、设置Cookies
设置Cookies有三个步骤:
(1)、创建一个Cookie对象:调用Cookie函数
(2)、设置有效期:调用setMaxAge()函数
(3)、将Cookies发送至HTTP响应头中:调用response.addCookie()函数
示例代码:

protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
			//设置请求编码格式
			req.setCharacterEncoding("utf-8");
			//设置响应编码格式
			resp.setContentType("text/html;charset=utf-8");
			//创建Cookie
			Cookie front = new Cookie("front", "frontCookie");
			Cookie last = new Cookie("last", "lastCookie");
			
			//设置Cookie的有效期
			last.setMaxAge(24*60*60);//以秒为单位
			
			//调用addCookie函数把Cookie发送至HTTP响应头中
			resp.addCookie(front);
			resp.addCookie(last);
			
			resp.getWriter().write("设置Cookie成功"); 
	}

页面效果:
在这里插入图片描述
2、获取Cookies
获取Cookies有二个步骤:
(1)、声明一个Cookie集合来接收Cookie信息:调用getCookies()函数获取Cookie的信息。
(2)、遍历Cookie集合获取Cookie信息。
示例代码:

protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//设置请求编码格式
		req.setCharacterEncoding("utf-8");
		//设置响应编码格式
		resp.setContentType("text/html;charset=utf-8");
		//调用getCookies()函数获取Cookie的集合
		Cookie[] cks = req.getCookies();
		if(cks != null){//判断集合是否为空
			//遍历Cookie集合
			for(Cookie c:cks){
				String name = c.getName();//获取Cookie的名称
				String value = c.getValue();//获取Cookie的值
				System.out.println(name+":"+value);//输出
			}
		}
	}

运行效果:
在这里插入图片描述
3、删除Cookies
删除Cookies有三个步骤:
(1)、声明一个Cookie集合来接收Cookie信息:调用getCookies()函数获取Cookie的信息。
(2)、遍历Cookie集合获取Cookie信息。
(3)、通过条件判断找出需要删除的Cookie,设置有效期为0
示例代码:

protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//设置请求编码格式
		req.setCharacterEncoding("utf-8");
		//设置响应编码格式
		resp.setContentType("text/html;charset=utf-8");
		
		//调用getCookies()函数获取Cookie的集合
		Cookie[] cookies = req.getCookies();
		if(cookies != null){//判断集合是否为空
			System.out.println("找到Cookie");
			//遍历Cookie集合
			for(Cookie cookie:cookies){
				
				if(cookie.getName().compareTo("last")==0){
					//设置Cookie的有效期
					cookie.setMaxAge(0);
					//调用addCookie函数把Cookie发送至HTTP响应头中
					resp.addCookie(cookie);
					System.out.println("删除last cookie");
				}
			}
		}else{
			System.out.println("没有Cookie");
		}
	}

运行结果:
在这里插入图片描述
页面效果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值