1.http协议的无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。
但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器。
2.cookie概述
保存用户状态的两大机制:session和cookie
Cookie是web服务器保存在客户端的一系列文本信息。
应用:
判定注册用户是否已经登陆网站。
“购物车”的处理。
记录浏览过的视频。
记住用户名和密码实现自动登录。
作用:
对特定对象的跟踪。
保存用户网页浏览记录与习惯。
简化登录。
安全风险:容易泄露用户信息
3. JSP页面中创建与使用Cookie
cookie服务器在客户端保存的类型是文本文件类型
cookie对象本质上是字符串类型
Cookie常用方法:
方法 | 作用 |
---|---|
void setMaxAge(int) | 设置cookie有效期,单位:秒 |
void setValue(String) | cookie创建后,对cookie进行赋值 |
String getName() | 获取cookie的名称 |
String getValue() | 获取cookie的值 |
int getMaxAge() | 获取cookie的有效时间 单位:秒 |
4.案例:Cookie在登录中的应用
1.java.net包下的URLEncoder类来进行编码
public static encode(String string, String enco);
String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
2.URLDecoder类进行解码
URLDecoder.decode(String string, String enco);
username = URLDecoder.decode(c.getValue(),"utf-8");
password = URLDecoder.decode(c.getValue(),"utf-8");
3.如果在登录界面把username和password的值设为了null,那么在登陆框就会出现null
最好是设为""
4.查找Cookie时,是按照k值进行查找的
5.Cookie中文编码,导入java.net.*包,使用URLEncode.encode(object,encode)
首先要保证页面的编码方式要一致