会话技术
什么是会话 :用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为是一次会话.
常见的会话技术:
Cookie :将数据保存到客户端浏览器.
Session :将数据保存到服务器端.
使用会话技术:
【Cookie技术的使用】
向浏览器保存数据:
HttpServletResponse有一个方法:
void addCookie(Cookie cookie);
获得浏览器带过来的Cookie:
HttpServletRequest有一个方法:
Cookie[] getCookies();
创建一个Cookie对象:
Cookie(String name,String value);
Cookie的常用的API:
getName();
getValue();
setDomain(String domain); -- 设置Cookie的有效域名. // www.baidu.commusic.baidu.com
setPath(String path); -- 设置Cookie的有效路径.
setMaxAge(int maxAge); -- 设置Cookie的有效时间.
Cookie的分类有关:
会话级别的Cookie:默认的Cookie.关闭浏览器Cookie就会销毁.
持久级别的Cookie:可以设置Cookie的有效时间.那么关闭浏览器Cookie还会存在. 手动销毁持久性Cookie. setMaxAge(0)---前提是有效路径必须一致.
【Session的概述】
Cookie本身是有大小和个数的限制.Session没有限制.Cookie的数据保存在客户端,Session数据保存在服务器端.
Session的执行原理:基于Cookie的.
使用Session:
获得Session:
request.getSession();
Session是域对象:
session何时创建和销毁?作用范围:
创建:服务器端第一次调用getSession()创建session.
销毁:三种情况销毁session:
* 1.session过期. 默认过期时间为30分钟.
* 2.非正常关闭服务器.如果正常关闭session序列化到硬盘.
* 3.手动调用session.invalidate();
作用范围:多次请求.(一次会话)