Cookie学习笔记一:基本概念

      作为一名JavaWeb学习的菜鸟,我今天通过网上的视频教程,自己学习了一下Cookie。之前一直有听到别人讨论什么Cookie啊session啊,感觉特高科,今天终于找到学习资源啦~在此将我的学习成果贴出,如果有任何建议,欢迎来喷哦~共同学习,共同进步啊~~(在此就不说是哪家的视频了,以免有打广告的嫌疑,如果有兴趣,可以私信我哦~)

好了,言归正传,一起就是我今天的学习成果啦:

Cookie的基本概念:

Cookie是Servlet里的一种用来会话跟踪的机制,简单直白的说就是比如当你网购时要将淘到的宝贝放入购物车吧,那怎么保证是加入的你的购物车呢,这里就是用Cookie来记录的;或者当你登录某个网站时,该网站一般会询问你是否记住密码,如果你选择是,那接下来一天或几天的时间你都可以实现自动登录,而这也是用的Cookie技术。

在不进行设置的情况下,Cookie的生命周期一般就是一次会话(就是你下一次访问这个网站他将可以直接登录)。而若是想要控制它的生命周期也是非常简单的,只用改变一个参数:setMaxAge既可。setMaxAge是用秒为单位的,当其为负数时就是不对Cookie存储,为0时就是立即删除,若为正数就是到时间自动删除啦。可能现在有点晕啦,概念就是这样,比较纠结,下面我用一段代码来帮助一下理解啦~

一个Cookie的测试文件:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" session="false"%>




Cookie Test


	<%
		//Cookie的查看方式为遍历
		Cookie [] cookies = request.getCookies();
	
		if(cookies != null && cookies.length > 0)
		{
			for(Cookie c : cookies)
			{
				out.println(c.getName() +" : "+ c.getValue());
			}
		}else
		{
			out.println("Cookies 为空,正在创建中。。。。");
			//创建一个Cookie对象
			Cookie cookie = new Cookie("name", "CookieTest");
		
			//设置Cookie的最大保存时间,Cookie会在下次启动30秒后自动删除
			cookie.setMaxAge(30);
			
			//把Cookie传给客户端
			response.addCookie(cookie);
		}
	%>


我们可以从浏览器中的开发者工具中查看到如下:

第一次访问

Cookie学习笔记一:基本概念_第1张图片


第二次访问

Cookie学习笔记一:基本概念_第2张图片


当第一次访问时,响应头部有set-Cookie,而第二次访问时请求头部直接自动将Cookie的信息带入了请求,而这也就是Cookie的工作原理啦~因为设置了最大保存时间,所以30s后再刷新Cookie 就被删除了~~

至此,Cookie的基本概念就差不多讲完了~

你可能感兴趣的:(java)