Servlet-Day3 课堂笔记

1、Http 响应中的 Cookie
   Set-Cookie:CustomerID=1234;domain=abc.com;path=/sales
  
   Set-Cookie :给 Cookie 通过 名称=值 的方式设置值,这些值在用户下次访问的时候,会使用到。名值对可以设置多个。
   domain :指定 该 Cookie 是用户访问了哪个 网站 返回的。
   path :指 Cookie 在这个 网址(域) 下面的路径。

   IE 浏览器,保存 Cookie 的位置 : C:\Documents and Settings\Administrator\Cookies
 

2、在 Servlet 中使用 Cookie
   (1)设置Cookie

    //新建 Cookie 的时候,一般有两个参数,参数1表示 name ,参数2 表示value
  Cookie cookie = new Cookie("key", "value");

    //设置 Cookie 的生存期,单位秒,必须
    //如果不设置或者设置为 0 秒,代表该 Cookie 是瞬时的,只保存在本机的内存中

  cookie.setMaxAge(60);

    //设置 Cookie 的路径,可选
  cookie.setPath("/test/test2");

    //添加到响应对象中
  response.addCookie(cookie);

    (2) 读取Cookie

  该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie的话,则返回null

  Cookie[] cookies = request.getCookies();

  (3) 删除Cookie

  Cookie cookie = new Cookie("key", null);

  cookie.setMaxAge(0);

  设置为0为立即删除该Cookie
 

3、使用 Cookie 进行用户重复登陆判断
  
4、要求每个浏览器能够支持 一定数量的 Cookie,每个 Cookie 大小不能操作4kb ,

5、会话:
        会话是在指定阶段来自同一客户的一系列的HTTP请求
   会话跟踪:将一个请求与会话关联的过程
   会话管理:对容器要求
        识别来自同一客户端(浏览器)的请求
        维护每个客户的状态

6、一般原理
      会话唯一标识:sessionID
   常用技术
       Cookie
       隐藏表单域
            <input type=“hidden” name=“sessionID” value=

“…”/>
       url重写
            http://localhost:8080/myapp/ServletA?sessionID=......

示例:记录用户访问次数

Cookie[] c = request.getCookies();
int count = 1;
if(c!=null) {
for(int i=0;i<c.length;i++) {
     Cookie accountCookie = c[i];
     if(accountCookie.getName().equals("accountCount")) {
        count = Integer.parseInt(accountCookie.getValue())+1;
        break;
     }
}
}
response.addCookie(new Cookie("accountCount",String.valueOf

(count)));


你可能感兴趣的:(C++,c,servlet,浏览器,IE)