cookie和session都是会话跟踪技术,cookie一般储存客户端,session储存在服务器端(但sessionId储存在客户端),session的实现依赖于cookie,cookie存储不安全,session安全(用来储存重要信息),session储存占用服务器资源,一个cooike最多只能保存4k数据,大多数浏览器最多保存20个cookie。
因为cookie可以在浏览器禁用,所以可以用cookie加数据库的方式,如果cookie被禁用,可以用数据库获取值。
一.设置cookie
(1)创建一个Cookie对象:为字符串
Cookie cookie = new Cookie("key","value");
请务必牢记,名称和值中都不能包含空格或者如下的字符: [ ] ( ) = , " / ? @ : ;
(2) 设置有效期:调用setMaxAge()函数表明cookie在多长时间(以秒为单位)内有效。下面的操作将有效期设为了24小时。
cookie.setMaxAge(60*60*24);
(3) 将cookie发送至HTTP响应头中:调用response.addCookie()函数来向HTTP响应头中添加cookie。
response.addCookie(cookie);
eg:
String str = URLEncoder.encode(request.getParameter("name"),"utf-8"); //从页面获取值
// 设置 name 的cookie
Cookie name