servlet学习(五)Cookie

一、问题

两次不同的请求如何共享数据?

二、

采用Cookie(浏览器存)+Session(服务器存)

三、作用

解决了不同请求的数据共享问题。

四、使用

1.创建cookie对象

  //创建cookie对象
		         Cookie cookie=new Cookie("id", "1");


2.设置cookie对象


		       //设置cookie对象
		         	//设置有效期三天
		         cookie.setMaxAge(3*24*3600);
		            //设置有效路径
		         cookie.setPath("/sx/s5");
// ‘/’+项目名+servlet名
//否则访问对应的servlet不会携带cookie


3.让浏览器存cookie     


		       //让浏览器存cookie
		         resp.addCookie(cookie);

第一次访问的时候:响应头要求浏览器存储cookie

第二次访问的时候:请求头携带cookie信息

获取cookie对象

   //第二次请求的时候获取cookie对象
		         Cookie[] cookies=req.getCookies();
		         for(Cookie c:cookies) {
		        	System.out.println(c.getName()+" "+c.getValue());
		         }

注意:

1.临时存储:存储在浏览器的运行内存中,浏览器关闭就失效。

2.定时存储:设置了cookie的有效期,存储在客户端的硬盘中,在有效期内符合路径的要求的请求都会附带该信息,放在请求头中。

设置有效路径:
cookie.setPath("/sx/s5");

‘/’+项目名+servlet名,否则访问对应的servlet不会携带cookie

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值