Day16 Cookie的使用和概述
Day16 会话技术 Cookie和Session
会话技术概述会话技术的作用和描述描述: 用户访问网站,每次从打开浏览器到关闭浏览器这一过程称之为一次会话 作用:用户数据的私有化,将用户购物信息保存在会话技术中,私有数据
Cookie的有效期Cookie保存数据的使用 //向浏览器保存数据:
HttpServletResponse有一个方法: 服务器通过响应向客户端发送数据,存取在客户端
* response.addCookie(Cookie cookie);
//获得浏览器带过来的Cookies存储的数据;
HttpServletRequest有一个方法:
* Cookie[] cook=request.getCookie();
//创建一个Cookie对象:
* Cookie(String name,String value);Cookie的常用APICookie中存储中文的实现对中文的编码和解码编码解码代码实现
//首先获取Cookie中存取的值
Cookie[] cookies=request.getCookies();
//通过CookieUtils工具类来获取指定的名字的value值
Cookie aa=CookieUtils.findCookie("vlaue","aa");
if(aa!=null){
//获取指定名字对应的value值
String value=aa.getValue();
//进行解码
String a= URLDecoder.decode(value,"UTF-8");
}
//对添加到Cookie的中文数据进行编码
String value=URLEncoder.encode("二哈傻中无敌","UTF-8");
//用Cookie全参构造的方式将数据进行初始化
Cookie cookie=new Cookie("aa",vlaue);//传入参数名字和对应的值
//向客户端添加存储对数据
response.addCookie(cookie);Cookie的常用API:getName(); getValue(); setDomain(String domain); setPath(String path); 设置cookie的有效路径 为了手动删除Cookie持久性保存的值, setMaxAge(int maxAge); 用来设置Cookie的存活时间,** 指的是一次请求发生时,Cookie所存活的值**
Cookie的分类有关:会话级别的Cookie:默认的Cookie.关闭浏览器 Cookie就会销毁. 持久级别的Cookie:可以设置Cookie的有效时间.那么关闭浏览器Cookie还会存在,手动销毁持久性Cookie.setMaxAge(0)-- 前提是有效路径必须一致
动态设置项目的路径file://F:/JAVA%E8%AF%AD%E8%A8%80%E8%B5%84%E6%96%99/%E9%BB%91%E9%A9%AC%E4%BA%8C%E9%98%B6%E6%AE%B5_Web%E7%AC%94%E8%AE%B0/MyNoteBook/Day16%E6%88%AA%E5%9B%BE/1526541630403.png?lastModify=1526869247 代码实现浏览记录步骤分析登陆完成后,显示商品列表页面 为商品列表页面做一些准备工作(配置成动态页面jsp) 点击某个商品,将商品ID传递一个Servlet(请求) 在Servlet中,判断是否是第一次浏览商品 如果是第一次:将商品的ID存入到Cookie中 如果不是第一次:判断Cookie中是否由此数据, 如果浏览过,删除原有的数据,将此数据重新在页面上靠前展示 如果没有浏览过该商品,判断展示浏览记录栏展示数量的长度,没有超过限制,直接加到最前,如果已经超过限制,删除最后一个,将其插入到最前
|