java EE 会话和会话技术 -cookie

1、cookie对象

cookie是一种会话管理技术,他是用来保存会话技术过程中产生的数据,然后在浏览器和服务器交互时,会使用cookie里面保存的数据。
首次访问不会携带cookie

2、常用api

//得到cookie对象: 
Cookie cookie = new Cookie( String key, String value);
//回写(响应)到浏览器:
 response.addCookie(cookie);
//得到cookie 的名称 :
String name = cookie.getName(),
//得到cookie 的值:   
String value = cookie.getValue();
//给cookie设置 生命时长: 
setMaxAge(int sr);
//设置cookie生命为7 天;
例:setMaxAge(60*60*24*7)
	分类:
		①会话级别cookie,浏览器关闭,cookie对象就销毁了;
		②持久化cookie,通过setMaxAge()这个方法设置。
	给cookie设置路径,设置域名:
		setPath(路径的url),setDomain(域名);
		例:域名就是服务器名称   如:www.baidu.com
//得到cookie:
Cookie[] cookies = request.getCookies();

3、cookie记录上次访问时间

默认级别cookie(浏览器关闭就会消失)

response.setContentType("text/html;charset=utf-8");
		// 获取cookies
		Cookie[] cookies = request.getCookies();
		// 遍历cookies数组
		String lasTime=null;
		for(int i=0; cookies != null&& i<cookies.length;i++){
			String name = cookies[i].getName();
			if("lastAccess".equals(name)){
				// 获取cookie的时间
				lasTime = cookies[i].getValue();
			}
		}
		// 判断是否是首次访问,如果cookie里有时间,就不是第一次访问
		if(lasTime == null){
			//String time = String.format("%tF %<tT", new Date());
			//Cookie cookie = new Cookie("lastAccess", time);
			response.getWriter().print("您是第一次访问");
		}
		else{
			response.getWriter().print("您上次访问时间是:"+lasTime);
			//String time = String.format("%F %<tT", new Date());
			//Cookie cookie = new Cookie("lastAccess", time);
			//response.addCookie(cookie);
		}
		
		String time = String.format("%tF %<tT", new Date());
		Cookie cookie = new Cookie("lastAccess", time);
		response.addCookie(cookie);

持久化cookie

String time = String.format("%tF %<tT", new Date());
		Cookie cookie = new Cookie("lastAccess", time);
		// 保留7天
		cookie.setMaxAge(60*60*24*7);
		response.addCookie(cookie);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值