将cookie保存在客户端的方法,cookie保存客户端




一、认识Cookie

指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。

Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。

二、如何将Cookie写入客户端

服务器端写Cookie时,要使用以下步骤

1.实例化一个Cookie对象,确定Cookie的名称和值。一般使用构造函数

[java] view plain copy print?
  1. public Cookie(String name,String value);  
public Cookie(String name,String value);

其中,name表示Cookie对应的名称,value表示Cookie对应的值。

如:

[java] view plain copy print?
  1. Cookie cookie = new Cookie("account","zhangsan");//实例化一个Cookie对象,名为account,值为zhangsan  
Cookie cookie = new Cookie("account","zhangsan");//实例化一个Cookie对象,名为account,值为zhangsan

2.将Cookie写入客户端

[java] view plain copy print?
  1. response.addCookie(Cookie c);  
response.addCookie(Cookie c);

3.也可以给Cookie对象设置存活时间

[java] view plain copy print?
  1. Cookie.setMaxAge(int second);//参数表示存活的秒数  
Cookie.setMaxAge(int second);//参数表示存活的秒数

例子:将用户的账号和密码保存到客户端

[plain] view plain copy print?
<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内容。

[html] view plain copy print?
  1. Cookie[] request.getCookies();//读取客户端传过来的Cookie,以数组形式返回  
Cookie[] request.getCookies();//读取客户端传过来的Cookie,以数组形式返回

2.读取数组之后,对数组进行遍历,可以使用以下两个方法得到Cookie的信息
①获取Cookie名称
String Cookie.getName();
②获取Cookie的值:
String Cookie.getValue();

例子:读取客户端传来的所有Cookie的名称和值

[html] view plain copy print?
  1. <body>  
  2. <%  
  3. Cookie[] cookies = request.getCookies();  
  4. for(int i=0;i<cookies.length;i++){  
  5. String cName = cookies[i].getName();  
  6. String cValue = cookies[i].getValue();  
  7. %>  
  8. Cookie名称:<%=cName %>  
  9. Cookie值:<%=cValue %>  
  10. <%  
  11. }  
  12. %>  
  13. </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。

相关内容