-
http协议无状态性
-
保存用户状态的两大机制
-
Cookie简介
-
Cookie的创建与使用
-
Session与cookie的对比
6-1 http协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器会响应。但当同一个浏览器再次发送请求时,服务器不会知道是刚才那个浏览器。
简单说,服务器【不会保存用户状态】,不会记得客户端是否访问过,所以这就是无状态协议
6-2 Cookie概述
保存用户状态的两大机制 :1、Session 2、Cookie
cookie:是web服务器保存在客户端的一系列文本信息。
典型应用一:判断注册用户是否已经登录网站。 典型应用二:保存用户浏览记录。
cookie的作用: 1、对特定对象的追踪。 2、保存用户网页浏览记录与习惯。 3、简化登录
安全风险:容易泄露用户信息
6-3 JSP页面中创建与使用Cookie
1、创建Cookie: Cookie newCookie = new Cookie(String key,String value);
2、写入Cookie: response.addCookie(newCookie);
3、读取Cookie: Cookie[] cookie = request.getCookies();
常用方法:
1. setMaxAge( int expiry ) 设置cookie的有效期,以秒为单位 getMaxAge() 获取cookie的有效时间,以秒为单位
2. setValue(String value) 在cookie创建后,对cookie进行赋值 getValue() 获取cookie的值
3. getName() 获取cookie的名称
4.setValue()和getValue()涉及的都是字符串,对应前面提到的 Cookie是web服务器保存在客户端的文本文件。
解决Cookie无法保存中文字符串的问题
1.java.net包下的URLEncoder类来进行编码 public static encode(String string, String enco);
2.URLDecoder类进行解码 URLDecoder.decode(String string, String enco);