Servlet第五讲
(一)Cookie的讲解和使用
服务器在客户端保存用户的信息
cookie
-----------------------------------
|名字(String) | 值(String) |
-----------------------------------
| | |
-----------------------------------
| | |
-----------------------------------
| | |
-----------------------------------
1.Cookie有点像一张表,分两列,一个是名字,一个是值,数据类
型都是String
2.如何创建一个Cookie(在服务器端创建的)
Cookie c=new Cookie(String name,String val);
3.如何将一个Cookie添加到客户端
response.addCookie(c);
4.如何读取cookie(从客户端读到服务器)
request.getCookies();
其他说明:
1.可以通过IE-工具-internet选项-隐私-高级来启用或是禁用cookie
2.由于cookie的信息是保存在客户端的因此安全性不高
3.cookie信息的生命周期可以在创建时设置(比如30s),从创建
那一刻起,就开始计时,到时该cookie信息就无效了(如果30秒后
)
4.cookie对b/s编程非常重要
应用方向:
1.保存用户名、密码,使其在一定时间内不用重新登录
2.记录用户访问网站的喜好
3.网站的个性化
(二)Cookie和Session的比较
1.存在位置
cookie保存在客户端,sesseion保存在服务器端
2.安全性
比较而言,cookie的安全性比sesseion要弱
3.网络传输量
cookie通过网络在客户端与服务器端传输。
而session保存在服务器端,不需要传输
4.生命周期(20分钟为例)
(1)cookie的生命周期是累计的,从创建时,就开始计时,20分
钟后cookie生命周期结束,cookie就无效
(2)sesseion的生命周期是间隔的,从创建时,开始计时如在20
分钟,没有访问过sesseion,那么session信息无效,如果在20分
钟内,比如19分钟时,访问过sesseion,那么,它的生命周期将重
新开始计算
(3)另外,关机会造成sesseion生命周期结束,但是对cookie没
有任何影响
参考示例:
CookieTest1:(创建cookie)
CookieTest2:(读取cookie)
CookieTest3:(删除cookie)