Cookie
概念:Cookie技术是客户端浏览器的数据储存技术,客户端浏览器负责储存,但是具体储存的内容由服务器决定, 如果没有设置有效期,默认有效期为浏览器关闭,默认有效期是浏览器关闭(一次会话)
解决的问题:同一个客户的不同请求之间的数据共享问题
特点:
浏览器端的数据存储技术
适合少量数据
键值对
不安全
使用:
Cookie数据存储:
临时存储:
不设置cookie信息的存储时间,周期为一次会话,存储在浏览器内存中
定时存储:
设置存储时间,周期为时间设置,存储在用户电脑中。
Cookie数据获取:
不同的请求使用相同的请求数据,但是请求只要结不,数据就被销毁了,其他请求需要将公共数据重新发送
第二次请求要用什么数据?浏览器不知道,服务器知道
请求1的响应,告诉浏览器将其他请求会使用的请求数据保存下来,并再其它请求中附带上保存的数据
服务以响应的方式告诉浏览器存储哪些数据
Cookie:浏览器端的数据存储技术
,不适合大量数据的存储
Cookie的作用:实现不同请求之间的数据共享问题
在浏览器中查询cookie 值
三个点->设置--->高级--->网站设置-->Cookie和网站数据-->查看所有cookie和网站数据-->localhost
设置Cookie的有效时间和有效路径
//记录账号密码 Cookie cookie = new Cookie("uname", uname); Cookie cookie1 = new Cookie("pwd", pwd); //设置时间 cookie.setMaxAge(3600 * 24 * 3); cookie1.setMaxAge(3600 * 24 * 3); //设置路径 cookie.setPath("/day14/login.jsp"); cookie1.setPath("/day14/login.jsp"); //放入响应头中 resp.addCookie(cookie); resp.addCookie(cookie1);
总结:在请求aServlet时,使用Cookie创建,使用resp对象的添加到响应头中携带数据,在第二次发送请求时,由请求头携带数据发送给服务器
强调:Cookie 不允许 存储中文
Cookie new之间,将字符串进行转码
uname= URLEncoder.encode(uname,"utf-8");
使用之前转码
value=URLDecoder.decode(value,"utf-8");
应用场景
Cookie:记住我 最近浏览商品 网页皮肤 记住密码