一.会话技术
会话:从打开浏览器到浏览网站到关闭浏览器的过程叫做一次会话
常见的会话技术:
Cookie:数据保存在客户端
Session:数据保存在服务器
会话技术的使用场景:
保存一些每个客户端私有的数据
二.Cookie的使用
*Cookie的创建
*Cookie cookie = new Cookie(String name,String value);
*常用API
getName();获取Cookie的名称
getValue();获取Cookie的值
setMaxAge();设置Cookie的生存时长
setDoMain():设置有效域名
setPath():设置有效路径
*服务器发送cookie到浏览器
*Response.addCookie(Cookie cookie);
*浏览器发送cookie到服务器
*Cookie[] Request.getCookies();
*Cookie的分类
*会话Cookie
浏览器的打开到关闭
*持久化Cookie
使用Cookie的方法setMaxAge(秒);设置Cookie的生存市时长
注意:清除cookie(清除浏览记录)
步骤一: Cookie cookie = new Cookie(“history”,null);
步骤二: cookie.setMaxAge(0); cookie.setPath(“/day16”);
步骤三: response.addCookie(cookie);//把之前名称为history的cookie给覆盖
Session
一.概述
Session为会话对象,从用户访问服务器.服务器创建Session,到Session的销毁,为一个会话过程.(Session是基于Cookie的)
*Session的获取:
Request.getSession();
二.Session作为域对象的功能
*创建:在用户第一次访问,服务器获取Session的时候创建
*销毁:(三种情况):
1.非正常关闭服务器
2.超过30分钟没有访问
3.调用销毁方法:invalidate()
*范围:多次请求(一次会话)
三.购物车案例
所用知识点:Session的获取和Session域值得设置和获取
步骤:
1)获取商品的id
2)使用Request对象获取Session request.getSession(),并用Session获取Map getAttrbute(“名称”);
3)判断map是否为空(是否是对一次加入购物车)
4)如果map为空,创建map,并将商品id存入map中,计数为1
5)判断map中是否包含商品id
6)如果不包含,直接将id作为键存入map,并将其值为1
7)如果不为空,根据id取出值,加一,再重新存入map
8)将map存入Session域 Sessoion.setAttribute(“map”,map);