cookie and session(妈妈再也不用担心你不会了)

cookie and session

    • cookie
      • 1.cookie是什么?
      • 2.为什么要使用cookie?
      • 3.怎么使用cookie?
        • (1)添加一个cookie
        • (2)删除一个cookie
    • session
      • 1.seesion是什么?
      • 2.为什么要使用session?
      • 3.怎么使用session?
      • 4.session对象与cookie的区别?

cookie

1.cookie是什么?

首先cookie翻译过来是小饼干的意思,这说明了cookie的一个特点就是大小有限制,大约在4kb左右。

cookie是储存在用户本地终端上的数据,类型是小型文本文件。大小存在限制。

2.为什么要使用cookie?

辨别用户身份。

还可以跟踪会话。

怎么辨别身份呢?一般是配合session进行使用,第一次请求完成后服务器端就会生成一个session对象,并把生成的session的id经过加密的方式存储在cookie中,然后交由客户端进行存储cookie,客户端在进行第二次请求时,会验证cookie中是否存在第一次请求生成的session的id,如果存在说明是同一次会话。

3.怎么使用cookie?

cookie一般是用来记录session的id,以便于和服务器交互时携带凭证。

(1)添加一个cookie

Cookie cookie = new Cookie("userName","passWord");
setMaxAge(24*60*60);//设置过期时间为一天  
response.addCookie(cookie);

(2)删除一个cookie

删除某个Cookie时,只需要新建一个只有maxAge和value不一样的同名Cookie,然后添加到response中覆盖原来的Cookie

Cookie cookie = new Cookie("username","peter");// 新建Cookie
cookie.setMaxAge(0);                           // 设置生命周期为0,表示将要删除
response.addCookie(cookie);                    // 执行添加后就从response里删除了

session

1.seesion是什么?

session在计算机范围中称为会话控制。

Session对象存储特定用户会话所需的属性及配置信息。

session是存储在服务器端的。

session的工作原理,客户端发起第一次请求时,服务器端会自动生成一个session,并将其sessionId的唯一标识存储在客户端的cookie之中。客户端再次发送请求时,服务器端会验证sessionId,如果sessionid能够匹配的上的话说明是同一个会话。

2.为什么要使用session?

Session 对象最常见的一个用法就是存储用户的首选项。

为了满足实时远程监测系统的需求,服务器需要实时监测客户端的连接状态。

3.怎么使用session?

在java中使用session

public void hello(HttpServletRequest request, HttpServletResponse response){
        HttpSession session = request.getSession();
        //返回指定分配给此会话的标识符的字符串
        String id = session.getId();
        //设置指定的属性
        session.setAttribute("key","value");
        //获取某个属性为key的值
        session.getAttribute("key");
        //设置失效时间  参数单位是秒
        session.setMaxInactiveInterval(24*60*60);
        //移除某个属性
        session.removeAttribute("key");
        //即删除session
        session.invalidate();
        //获取属性的名称
        Enumeration<String> attributeNames = session.getAttributeNames();

    }

4.session对象与cookie的区别?

1.存储位置不同,cookie是存储在客户端的一个小型文本文件。session是存储在服务器端的一个对象。

2.cookie有大小的限制,一般不超过4kb,而session则没有这个限制。

3.cookie如果不做特殊设置生命周期和浏览器一样,随着浏览器关闭而消失。而session则不同,他不会随浏览器的关闭的释放,而是在过了失效时间之后被释放。

你可能感兴趣的:(java,java)