Cookie与Session的介绍即使用————Cookie

认识Cookie

1.简要介绍:

  • 作用: Cookie是一种会话技术,用来将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器更好的实现数据交互。

  • 原理: 用户通过浏览器访问web服务器时,服务器会给客户端发一些信息,这些信息保存在Cookie中,当浏览器在次访问服务器时,就会在请求头中将Cookie发送给服务器,方便服务器对浏览器做出正确的响应。

  • 注意:Cookie必须以键值对的形式存在,其属性可以有多个,但这些属性之间必须用分号(;)和空格( )分隔。

2.Cookie的常用方法:

Cookie方法

3.Cookie使用案例

↓ 类名为Cookiedome的servlet中,代码如下,负责生成Cookie信息,并创建自定义的“id”信息

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String id="123";
		Cookie cookie=new Cookie("id",id);
		response.addCookie(cookie);
		
		out.print("id="+id);
		out.print("<br>");
		out.print("id数据已经保存到Cookie");
		
		out.close();
	}

↓ 类名为ReceiveCookie的servlet中,代码如下,负责查看保存在Cookie数组中的所有信息,注释的代码可以查看指定

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		Cookie [] cookies=request.getCookies();
		//拿到的Cookie对象是多个,要用Cookie数组定义
		if(cookies!=null) {
		
		for(Cookie cookie: cookies) {
			/*
			*将Cookie数组信息全部打印输出
			*注意:Cookie是以键值对的形式存储的,打印时用getName()和getValue()方法;
			*/
			out.println(cookie.getName()+" : "+cookie.getValue()+"<br>");
			
//       只打印Cookie数组信息中名字为id的值	
//			if(cookie.getName().equals("id")) {
//					out.println("id="+cookie.getValue());	
//			}
		
		   }
		}else {
			out.print("Cookies为空");
		}
		out.close();
	}


4.结果展示

1.结果一,生成Cookie信息并提取

↓ 先进入到Cookiedome中↓

Cookiedome

↓ 再进入到RecriveCookie中

在这里插入图片描述

2.结果二,跳过Cookie信息生成,提取Cookie信息

↓ 在另外一个浏览器直接进入到ReceiveCookie中

在这里插入图片描述

5.总结

Cookie技术可以将用户的信息保存在各自的浏览器中,并且可以在多次请求下,实现数据共享。
但是,如果传递信息较多到时候,使用Cookie技术会增大服务器程序处理难度,这时可以使用Session实现。
Session是将会话数据保存到服务器端的技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵泡泡~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值