Java——cookie快速入门

1. 概念:客户端会话技术,将数据保存到客户端

2. 快速入门(只是简单演示cookie的原理):

*cookie简单步骤只有三步

  1. 创建Cookie对象,绑定数据
    • new Cookie(String name, String value)
  2. 发送Cookie对象
    • response.addCookie(Cookie cookie)
  3. 获取Cookie,拿到数据
    • Cookie[] request.getCookies()

在这里插入图片描述
创建Web项目,src下创建cookie包
可以分为两个模块
2.1、第一个模块为创建和发送cookie,创建Servlert类型的cookieDemo1文件

	   package cookie;
	   
	   import java.io.IOException;
	   import javax.servlet.ServletException;
	   import javax.servlet.annotation.WebServlet;
	   import javax.servlet.http.Cookie;
	   import javax.servlet.http.HttpServlet;
	   import javax.servlet.http.HttpServletRequest;
	   import javax.servlet.http.HttpServletResponse;
	   
	   @WebServlet("/CookieDemo1")
	   public class CookieDemo1 extends HttpServlet {
	   	
	   	private static final long serialVersionUID = 1L;
	   	
	   	/*
	   	快速入门:
	   	使用步骤:
	   		1. 创建Cookie对象,绑定数据
	   			* new Cookie(String name, String value) 
	   		2. 发送Cookie对象
	   			* response.addCookie(Cookie cookie) 
	   		3. 获取Cookie,拿到数据
	   			* Cookie[]  request.getCookies() 
	   	*/
	   	
	   	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	   		//1、创建cookie对象
	   		Cookie c=new Cookie("msg","hello");
	   		//2、发送cookie
	   		response.addCookie(c);
	   	}
	   	
	   	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	   		doGet(request, response);
	   	}
	   
	   }

2.2、第二个模块为接收和打印cookie,创建Servlert类型的cookieDemo2文件

package cookie;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/CookieDemo2")
public class CookieDemo2 extends HttpServlet {

private static final long serialVersionUID = 1L;

/*
实现原理:
	* 基于响应头set-cookie和请求头cookie实现 
*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//3、获取cookie
	Cookie[] cookies=request.getCookies();
	//获取数据遍历cookie
	if(cookies!=null) {
		for(Cookie coookie:cookies) {
			String name=coookie.getName();
			String value=coookie.getValue();
			System.out.println(name+":"+value);
		}
	}
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	doGet(request, response);
}

}

我们开启tomcat服务,打开浏览器访问Web项目路径,我们先访问cookieDemo1,创建并发送cookie
可以看到浏览器F12开发者模式,cookie有了响应,服务器暂时没有提示。
在这里插入图片描述在这里插入图片描述
然后在访问cookieDemo2,接收cookie,并在控制台打印
可以看到浏览器已经请求cookie,服务器也打印出了请求cookie
在这里插入图片描述
在这里插入图片描述

3. 实现原理

  • 基于响应头set-cookie和请求头cookie实现
  • 打开F12开发者模式
  • 可以网络->消息头->响应头中看到set cookie
  • 可以网络->消息头->请求头中看到cookie
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值