cookie的作用:
1.对特定对象的追踪,如访问次数,最后访问时间,路径等
2.统计网页的浏览次数
3.在cookie有效期内,记录用户的登录信息
4.实现个性化,记录用户的喜好
5.保存的数据存在一定的风险
Cookie在javax.html包中。
Cookie对象的创建
Cookie cookie = new Cookie(String key,String value);
Cookie对象的写入
response.addCookie(newCookie);
读取cookie:
Cookie[] cookies = request.getCookies();
使用setMaxAge(int expiry)时,有以下几种情况:
1:expiry>0:表示有效的存活时间
2:expiry=0:表示将数据从客户端删除
3:expiry<0:,或者不设置,cookie会在当前窗口关闭后失效
每个如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如:
document.cookie="userId=828; userName=hulk";
在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方 法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为"20%",从而可以存储于cookie值中,而且使用此 种方案还可以避免中文乱码的出现。例如:
document.cookie="str="+escape("I love ajax"); 相当于: document.cookie="str=I%20love%20ajax";
session和cookie的区别:
1:session是在服务端保存数据cookie是在客户端保存数据
2:session作用域保存的值是Object类型,cookie是String类
3:session随着会话结束销毁数据,cookie长期保存在客户端
4:session保存重要信息,cookie保存不重要信息