引入:HTTP是无状态(stateless)协议。Web Server对每个客户端要求都没有历史影象。
浸染:session是客户端与做事器真个一次对话,用 来保存用户的信息。Web Server读取通过session 来获取客户真个状态信息。
事理:当用户登录时,做事器天生一个独一无二的 session。识别信息(session ID)存于客户端,特 征信息存于做事器端。存放的格式为“索引键(名 称),值”。用户在页面间跳转时,session也不会 打消,直到断开链接。 封装javax.servlet.http.HttpSession接口
session工具的ID :当一个客户首次访问做事器的JSP页面时,JSP引 擎产生一个session工具,此session工具被分配了 一个String类型的ID号,同时JSP引擎将ID号发 送到客户端,存放在客户的Cookie中。 每个客户的ID号都不同。 同一客户切换页面时,利用同一个session
session工具的常用方法:
getId() 每天生一个session工具,做事器会给他一 个编号,此编号是唯一的,可用此方法得到。
getValue(变量)读取session工具的属性值(已 被getAttribute代替)
getAttribute(变量) putValue(变量,值)给session工具赋值(已被 setAttribute代替)
setAttribute(变量,值) getCreationTime()返回该session工具创建的时 间
getLastAccessTime()返回该session工具末了的 访问韶光 isNew ()判断当前用户是否为新的用户
Cookie总是保存在客户端中,按在客户端中的 存储位置,可分为内存 Cookie 和硬盘 Cookie 。 内存 Cookie 由浏览器掩护,保存在内存 中,浏览器关闭后就消逝了,其存在韶光是短暂 的。硬盘 Cookie 保存在硬盘里,有一个过期韶光, 除非用户手工清理或到了过期韶光,硬盘 Cookie 不 会被删除,其存在韶光是长期的。以是,按存在时 间,可分为非持久 Cookie 和持久 Cookie
Cookie 技能(利用步骤)1) 建立 Cookie Cookie 工具名 =new Cookie(“ 索引值” ,” 字符串 信息内 容” )
例:Cookie c = new Cookie(\公众Name\公众, name); 注: Cookie 工具不能单独利用,必须和 request 对 象或 response 工具结合利用才起浸染。
2) 将 Cookie 信息传送到客户端方法: response.addCookie( 工具名 );
3) 取得客户端所有 Cookie 工具的数组 request.getCookies() ;
4) 取得 Cookie 的索引值和信息内容 Cookie 名称 .getName() Cookie 名称 .getValue()
5) 设置 Cookie() 有效期 Cookie 名称 .setMaxAge( 有效期 )
cookie 机制和 session 机制的区 别cookie 机制采取的是在客户端保持 HTTP 状态信息的方案
session 机制采取的是在做事器端保持 HTTP 状态信息的方案。
做事器端保持状态的方案在客户端也须要 保存一个标识,以是 session 机制可能须要 借助于 cookie 机制来达到保存标识的目的