Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2321012
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: Java

2011-12-08 21:07:59

  1. if(name.equals("zhangsan") && pwd.equals("1234"))
  2.                 {
  3.                     StringBuffer sb=new StringBuffer();
  4.                     sb.append("username=");
  5.                     sb.append(name);
  6.                     sb.append("&password=");
  7.                     sb.append(pwd);
  8.                     Cookie cookie=new Cookie("userinfo",sb.toString());
  9.                     cookie.setMaxAge(1800);
  10.                     resp.addCookie(cookie);
  11.                     resp.sendRedirect("greet2");
  12.                     return;
  13.                 }
构造一个包含用户名和密码的用户信息字符串,这个字符串将作为Cookie的值。构造一个名为"userinfo"
的Cookie,Cookie的值是一个包含了用户名和密码的字符串。调用setMaxAge()设置Cookie的最大生存时间,以秒为单位。如果要删除Cookie,可以将时间值设为0,如果时间值为负数,那么当客户端的浏览器关闭时,Cookie将会被删除。只要设置的时间是正数,Cookie就会保存在客户机器的硬盘上
 
 
  1. Cookie[] cookies=req.getCookies();
  2.         if(null!=cookies && cookies.length!=0)
  3.         {
  4.             String name=null;
  5.             String pwd=null;
  6.              for(int i=0;i<cookies.length;i++)
  7.              {
  8.                 Cookie cookie=cookies[i];
  9.                 String cName=cookie.getName();
  10.                 
  11.                 if(cName.equals("userinfo"))
  12.                 {
  13.                     String cValue=cookie.getValue();
  14.                     String[] userInfo=cValue.split("&");
  15.                    
  16.                     for(int j=0;j<userInfo.length;j++)
  17.                     {
  18.                         String[] value=userInfo[j].split("-");
  19.                         System.out.println(value[0]);
  20.                         if(value[0].equals("username"))
  21.                         {
  22.                             name=value[1];
  23.                         }
  24.                         if(value[0].equals("password"))
  25.                         {
  26.                             pwd=value[1];
  27.                         }
  28.                     }
  29.                 }
  30.             }

 

1  调用请求对象getCookie()获取客户端在这次请求中发送的所有Cookie。如果Cookie存在,通过for循环从Cookie对象数组中取出所有的Cookie的对象。

2  cName.equals("userinfo") 取出一个Cookie的对象后  根据名字判断这个Cookie是否是保存了用户信息的Cookie 

3  保存的Cookie的值是"username=zhangsan&password=1234"

4  利用String对象的split()方法,根据“&”将整个字符串拆分为两个字符串 保存到String对象数组中

5  从拆分后的字符串中取出用户名和密码 进行验证

 

阅读(2739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~