Cookie 会话机制
【1】什么是Cookie?
因为Http 是无状态的访问,不能标识是哪一个用户的请求,为了解决这样问题,Cookie 实际就是一段文本信息,在浏览器第一次请求该网址后,服务器生成该Cookie ,并且存放到浏览器的缓冲中去(既客户端),当浏览器再次请求该网址时就会携带上存放在客户端的Cookie 去一起请求,服务器以此来辨别用户的状态。
举例:比如两个人在网上买东西, A 买了一个nokia 的手机,B也买了一个 nokia 的手机,当A 继续买东西,那么服务器需要判断,这个请求是不是A 用户的行为,而不是B用户的行为。 ---> 检测A用户的方式就可以通过Cookie 来判断是不是当前用户的 请求操作。
【2】Cookie 的基本方法(创建 和 使用)
/** javax.servlet.http.Cookie该类包含了生成Cookie信息和提取Cookie信息各个属性的方法。
*
*/
//{1}创建一个Cookie 对象
// 参数解释 name : Cookie 的名称
value: Cookie 的
Cookie cookie = new Cookie("String name","String value");
//{2} 设置Cookie 的有效时常 以秒为单位
cookie.setMaxAge(1*24*60*60); // 一天
设置的时间分 3种情况,
(1) 设置的时间为一个正整数, Cookie 在缓冲种存在的时间
(2)设置的时间为一个负数,浏览器会将Cookie 信息保存在缓冲种,当浏览器关闭时,Cookie 信息会被删除。
(3)设置时间为0,表示浏览器立即删除这个cookie 值。
默认情况下,Max-Age 的属性值为 -1;
//{3} 将Cookie 值存放到客户端
response.addCookie(cookie);
//{4} 设置 Cookie 的域名
cookie.setDomain(".hello.com");
//{5} 设置Cookie 的路径
ccokie.sertPath("/");
//设置 “/” 的允许所有的路径访问到该 Cookie
// 返回浏览器中,请求这个网址的 Cookie 数组
Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies){
cookie.getName(); //返回Cookie 的名称
cookie,getValue(); //返回Cookie 的值
}
案例 实现永久登陆。
Cookie 在文件存放的形式
nihao
11
localhost/Day1011/
17408
2136749568
30550292
1431078670
30550091
*
【1】什么是Cookie?
因为Http 是无状态的访问,不能标识是哪一个用户的请求,为了解决这样问题,Cookie 实际就是一段文本信息,在浏览器第一次请求该网址后,服务器生成该Cookie ,并且存放到浏览器的缓冲中去(既客户端),当浏览器再次请求该网址时就会携带上存放在客户端的Cookie 去一起请求,服务器以此来辨别用户的状态。
举例:比如两个人在网上买东西, A 买了一个nokia 的手机,B也买了一个 nokia 的手机,当A 继续买东西,那么服务器需要判断,这个请求是不是A 用户的行为,而不是B用户的行为。 ---> 检测A用户的方式就可以通过Cookie 来判断是不是当前用户的 请求操作。
【2】Cookie 的基本方法(创建 和 使用)
/** javax.servlet.http.Cookie该类包含了生成Cookie信息和提取Cookie信息各个属性的方法。
*
*/
//{1}创建一个Cookie 对象
// 参数解释 name : Cookie 的名称
value: Cookie 的
Cookie cookie = new Cookie("String name","String value");
//{2} 设置Cookie 的有效时常 以秒为单位
cookie.setMaxAge(1*24*60*60); // 一天
设置的时间分 3种情况,
(1) 设置的时间为一个正整数, Cookie 在缓冲种存在的时间
(2)设置的时间为一个负数,浏览器会将Cookie 信息保存在缓冲种,当浏览器关闭时,Cookie 信息会被删除。
(3)设置时间为0,表示浏览器立即删除这个cookie 值。
默认情况下,Max-Age 的属性值为 -1;
//{3} 将Cookie 值存放到客户端
response.addCookie(cookie);
//{4} 设置 Cookie 的域名
cookie.setDomain(".hello.com");
//{5} 设置Cookie 的路径
ccokie.sertPath("/");
//设置 “/” 的允许所有的路径访问到该 Cookie
// 返回浏览器中,请求这个网址的 Cookie 数组
Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies){
cookie.getName(); //返回Cookie 的名称
cookie,getValue(); //返回Cookie 的值
}
案例 实现永久登陆。
Cookie 在文件存放的形式
nihao
11
localhost/Day1011/
17408
2136749568
30550292
1431078670
30550091
*