一、认识Cookie
指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
二、如何将Cookie写入客户端
服务器端写Cookie时,要使用以下步骤
1.实例化一个Cookie对象,确定Cookie的名称和值。一般使用构造函数
- public Cookie(String name,String value);
public Cookie(String name,String value);
其中,name表示Cookie对应的名称,value表示Cookie对应的值。
如:
- Cookie cookie = new Cookie("account","zhangsan");//实例化一个Cookie对象,名为account,值为zhangsan
Cookie cookie = new Cookie("account","zhangsan");//实例化一个Cookie对象,名为account,值为zhangsan
2.将Cookie写入客户端
- response.addCookie(Cookie c);
response.addCookie(Cookie c);
3.也可以给Cookie对象设置存活时间
- Cookie.setMaxAge(int second);//参数表示存活的秒数
Cookie.setMaxAge(int second);//参数表示存活的秒数
例子:将用户的账号和密码保存到客户端
- <body>
- <%
- //实例化一个Cookie
- Cookie cookie1 = new Cookie("account","smith");
- Cookie cookie2 = new Cookie("password","123456");
- //设置Cookie的生命期限10分钟
- cookie1.setMaxAge(600);
- //添加Cookie到客户端
- response.addCookie(cookie1);
- response.addCookie(cookie2);
- %>
- Cookie成功写到客户端
- </body>
<body>
<%
//实例化一个Cookie
Cookie cookie1 = new Cookie("account","smith");
Cookie cookie2 = new Cookie("password","123456");
//设置Cookie的生命期限10分钟
cookie1.setMaxAge(600);
//添加Cookie到客户端
response.addCookie(cookie1);
response.addCookie(cookie2);
%>
Cookie成功写到客户端
</body>
三、如何读取客户端的Cookie
服务器读取客户端传来的Cookie时,使用以下步骤:
1.从客户端获取Cookie内容。
- Cookie[] request.getCookies();//读取客户端传过来的Cookie,以数组形式返回
Cookie[] request.getCookies();//读取客户端传过来的Cookie,以数组形式返回
2.读取数组之后,对数组进行遍历,可以使用以下两个方法得到Cookie的信息
①获取Cookie名称
String Cookie.getName();
②获取Cookie的值:
String Cookie.getValue();
例子:读取客户端传来的所有Cookie的名称和值
- <body>
- <%
- Cookie[] cookies = request.getCookies();
- for(int i=0;i<cookies.length;i++){
- String cName = cookies[i].getName();
- String cValue = cookies[i].getValue();
- %>
- Cookie名称:<%=cName %>
- Cookie值:<%=cValue %>
- <%
- }
- %>
- </body>
<body>
<%
Cookie[] cookies = request.getCookies();
for(int i=0;i<cookies.length;i++){
String cName = cookies[i].getName();
String cValue = cookies[i].getValue();
%>
Cookie名称:<%=cName %>
Cookie值:<%=cValue %>
<%
}
%>
</body>
四、删除Cookie
1.给一个Cookie赋以空值。
2.设置Cookie的失效时间为当前时间,让该Cookie在当前页面浏览完之后就失效。
3.通过浏览器删除Cookie。