JSP状态管理_1_Cookie
http协议的无状态性:当浏览器发送请求飞服务器时,服务器相应客户端请求;但当同一个浏览器再次发送请求给浏览器时,服务器并不知道它就是刚才那个客户端。
保存用户状态的两大机制:Session,Cookie。
Cookie:是web服务器保存在客户端的一系列文本信息。
典型应用一:判定注册用户是否已经登录网站。
典型应用二:“购物车“的处理。
生活中的Cookie应用:
1.视频网站系统自动记录已经浏览过的视频。
2.登录时,让用户选择是否记住登录状态(十天内免登陆)记住用户名和密码实现自动登录。
Cookie的作用:
对特定对象追踪。
保存用户网页浏览记录与习惯。
简化登录。
安全风险:容易泄露用户信息。
JSP中创建和使用Cookie
创建Cookie对象:Cookie newCookie=new Cookie(String key,Object value); (键值对)
写入Cookie对象:response.addCookie(newCookie);
读取Cookie对象:Cookie[] cookies=request.getCookies();
常用方法:
void setMaxAge(int expiry) 设置Cookie的有效期,以秒为单位
void setValue(String value) 在Cookie创建后,对Cookie进行赋值
String getName() 获取Cookie的名称
String getValue() 获取Cookie的值
int getMaxAge() 获取Cookie的有效时间,以秒为单位
使用URLEncoder解决无法在Cookie当中保存中文字符串问题。(java.net.*)
String username=URLEncoder.encode(request.getParameter("username"),"utf-8");
URLDecoder.decode("xxx","utf-8"); //解码