本帖最后由 黑马-唐磊 于 2012-5-30 19:25 编辑
Cookie是客户端技术,服务器端可以获得请求中的Cookie.首先Cookie 是一个 key-value ---- public Cookie(String name,String value),setValue与getValue方法 ---- 用来存取Cookie对象里面值.setMaxAge与getMaxAge方法(单位:秒) ---- 用来设置和获取Cookie 的存在时长,当没有设置Cookie时限时,默认不产生Cookie文件.
Session是服务器端技术,服务器端会为每一个浏览器创建单独Session,Session 每个浏览器对应一个,存放数据 .浏览器A 访问 服务器端 ---- 会为A创建一个Session对象 ----- JsessionId(32位) 唯一的,服务器端 以Cookie方式 将jsessionid回写给浏览器
下次浏览器在访问服务器时候 自动携带 jsessionid ----- 对应Session对象.
Cookie和Session的生命周期
Cookie对象由服务器创建的,Cookie会通过resp的addCookie写回浏览器端,如果说你不设置maxAge,那么这个Cookie是一个会话(浏览器打开产生会话,浏览器关闭,终止会话)级Cookie,浏览器关闭,客户端Cookie就消失,如果你设置了maxAge,Cookie会被存储到硬盘上,那么Cookie会在到期后自动删除!服务器端不保存Cookie
Session由服务器端创建,会以一个唯一sessionId标识,session默认存活时间30分钟(如果客户端30分钟内没有访问过Session,那么Session将过期),Session可以设置过期时间
setMaxInactiveInterval(int interval)
Specifies the time, in seconds, between client requests before the servlet container will invalidate this session.
|