Cookie和Session

来源:互联网 发布:mysql租用 编辑:程序博客网 时间:2024/06/11 06:11

   

  Cookie的英文原意是"点心"(曲奇),它是用户访问Web服务器时,服务器在用户硬盘上存放的信息,好像还是服务器送给客户的"点心"。
一个Cookie包含一对Key/Value。下面的代码生成一个Cookie并将它写到用户的硬盘上:Cookie theCookie = new Cookie("cookieName","cookieValue");
    response.addCookie(theCoolie); 

 

cookie对象:是一种以文件(Cookie文件)的形式保存在客户端硬盘的Cookie文件夹中的用户数据信息(Cookie数据)。Cookie文件由所访问的web站点建立,以长久的保存客户端与web站点间的会话数据,并且该Cookie数据只允许被所访问的web站点进行读取。

******************************************************************************************

Cookie有两种,一种是存放于用户硬盘上;一种是存放于内存中,其生命周期为Session在浏览器的生命周期,session明显属于后者。


*************************************************************************************************
Session用于跟踪客户的状态。Session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互过程。
当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。
Servlet容器为HttpSession分配一个惟一标志符,成为Session ID。Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
每次客户发出Http请求时,Servlet容器可以从HttpServletRequest请求对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

HttpSession接口:
    getId()方法;  unique 唯一的 identifier 标识符  由容器创建
      Returns a string containing the unique identifier assigned to this session. The identifier is assigned by the servlet container and is implementation dependent.
    invalidate(); 使当前Session失效,Servlet容器会释放HttpSession对象占用的资源。
    isNew()判断是否是新创建的Session
    setMaxInactiveInterval(int seconds)设定一个Session可以处于不活动状态的最大时间间隔。默认值是30分钟。

原创粉丝点击