欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Servlet操作Cookie

程序员文章站 2024-03-20 14:08:10
...

cookie的创建和发送

通过 new Cookie(“key”,”value”); 来创建一个 Cookie 对象,要想将 Cookie 随响应发送到客户 端,需要先添加到 response 对象中, resp.addCookie(cookie); 此时该 cookie 对象则随着响应发送 至了客户端。

//cookie的创建和发送
		Cookie cookie = new Cookie("uname","jackma");
		Cookie cookie2 = new Cookie("upwd","123456");
		Cookie cookie4 = new Cookie("uname","tonyma");
		response.addCookie(cookie);
		response.addCookie(cookie2);
		response.addCookie(cookie4);
		//键名相同时,值会覆盖

cookie到期时间的设定

cookie到期时间,到期时间用来指 定该 cookie 何时失效。默认为当前浏览器关闭即失效。我们可以手动设定 cookie 的有效时间(通过到 期时间计算),通过 setMaxAge(int expiry); 方法设定 cookie 的大有效时间,以秒为单位。
大于 0 的整数,表示存储的秒数;若为负数,则表示不存储该 cookie;若为 0,则删除该 cookie。

//cookie到期时间的设定,三种情况,-1,0,正整数,需写在cookie发送之前
//		cookie.setMaxAge(-1);
//		浏览器关闭,cookie即失效
		cookie.setMaxAge(10);
//		//单位为秒,10秒后cookie失效
//		cookie.setMaxAge(0);
//		//cookie立即失效

cookie的获取

在服务器端只提供了一个 getCookies() 的方法用来获取客户端回传的所有 cookie 组成的一个数 组,如果需要获取单个 cookie 则需要通过遍历,getName() 获取 Cookie 的名称,getValue()获取 Cookie 的值。

//cookie的获取
		Cookie[] cookies = request.getCookies();
		//判断是否为空
		if(cookies!=null && cookies.length>0) {
			for(Cookie cookie3 : cookies) {
				String uname = cookie3.getName();
				String upwd = cookie3.getValue();
				System.out.println("uname:"+uname+";upwd:"+upwd);
			}
		}
相关标签: Servlet Cookie