会话技术cookie

来源:互联网 发布:js实现日期时间 编辑:程序博客网 时间:2024/06/05 20:44

cookie的原理图


cookie的小结

① cookie 是在服务端创建

② cookie 是保存在浏览器这端

③ cookie 的生命周期可以通过

cookie.setMaxAge(2000);

☞ 如果不设置setMaxAge则该cookie的生命周期当浏览器关闭时,就消亡.

④ cookie 可以被多个浏览器共享(session的区别)

⑤ 怎么理解

我们可以把cookie 想成一张表

① 一个web应用可以保存多个cookie,但保存在同一个cookie文本在客户端浏览器下

② cookie存放的时候是以明文方式存放,因此安全较低.,我们可以通过加密后保存.


 cookie的细节

① 一个浏览器最多放入 300cookie,一个web站点,最多20cookie,而且一个cookie大小限制子4k

② cookie生命周期的再说明:

1. cookie默认生命周期是会话级别

2. 通过setMaxAge() 可以设置生命周期

setMaxAge(正数) ,即多少秒后该cookie失效

setMaxAge(0) ,删除该cookie

setMaxAge(负数),相当于该cookie生命周期是会话级别.

 

案例

//先得到该cookie

Cookie cookies[]=request.getCookies();

for(Cookie cookie: cookies){

if(cookie.getName().equals("id")){

System.out.println("id");

//删除

cookie.setMaxAge(0);

response.addCookie(cookie);//一定带上这句话,否则不能删除

}

}

特别说明: 如果该web应用只有一个cookie,则删除该cookie后,在浏览器的临时文件夹下没有该cookie文件,如果该web应用有多个cookie,则删除一个cookie后,文件还在,只是该cookie没有

① cookie存放中文,怎么处理

存放:

String val=java.net.URLEncoder.encode("顺平","utf-8");

Cookie cookie=new Cookie("name",val);

取出:

String val=java.net.URLDecoder.decode(cookie.getValue(),"utf-8");

out.println("name ="+val);


0 0