会话概念:打开浏览器,可以访问WEB资源,多次访问WEB资源,关闭浏览器,整个过程为一次会话。
* 购买商品
用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,
以便于用户点结帐servlet时,结帐servlet可以得到用户商品为用户结帐
* cookie
* Cookie的API
* cookie的构造方式 Cookie(String name, String value)
* String getName() 获取cookie的名称
* String getValue() 获取cookie的值
* void setMaxAge(int expiry) :设置有效时间
* 失效cookie setMaxAge(0); 前提条件:设置有效路径(和之前设置过相同)
* void setPath(String uri) :设置有效路径
* 默认的有效路径()
* 配置 /last默认路径 /day11
* 配置 /servlet/last默认路径 /day11/servlet
* void setDomain(String pattern) :设置有效域名
* www.sina.com.cn
* sports.sina.com.cn
* xxx.sina.com.cn
* 设置有效域名 setDomain(".sian.com.cn");
* 会话级别的cookie:默认保存到浏览器的内存中。
* 持久的cookie:把cookie保存到磁盘上。通过setMaxAge(int a)进行设置。
* 显示用户上次访问过的商品信息(需求)
* 1.获取请求参数
* 2.获取cookie数组,通过指定的名称(自己指定)查找cookie
* 3.如果cookie==null,第一次访问
* * 如果是第一次访问,创建cookie,回写浏览器
* 4.如果cookie!=null,不是第一次访问
* * 如果不是第一次访问,说明我的cookie中已经存在id
* * 判断,当前的id是否已经存在cookie的中value
* * 如果存在,不用操作
* * 如果不存在,在后面追加(product=1,2)
* 5.重定向到商品页面
* session(服务器)
* cookie基于客户端,不安全,并且大小和个数的限制。
* session域对象,范围一次会话范围,存个人相关的数据。
* setAttribute(String name, Object value)
* Object getAttribute(String name)
* String getId() 获取seesion的唯一的ID
* void invalidate() 销毁的seesion
* 完成简单的购物车
* 购物车 Map<String,Integer> cart购物车,把购物车存入seesion中。
* 获取数据
* 判断是否是第一次访问 session.getAttribute("cart");
* 如果第一次访问,cart创建一个购物车,放入商品的名称和数量
* 如果不是第一次访问,cart!=null
判断是否包含该商品?
* 如果包含,数量拿出来,++,放回去,存入seesion中
* 如果不包含,正常放入到购物车中。存入seesion中
笔记小结:两个会话技术
最新推荐文章于 2022-03-22 00:39:47 发布