- if(name.equals("zhangsan") && pwd.equals("1234"))
- {
- StringBuffer sb=new StringBuffer();
- sb.append("username=");
- sb.append(name);
- sb.append("&password=");
- sb.append(pwd);
- Cookie cookie=new Cookie("userinfo",sb.toString());
- cookie.setMaxAge(1800);
- resp.addCookie(cookie);
- resp.sendRedirect("greet2");
- return;
- }
构造一个包含用户名和密码的用户信息字符串,这个字符串将作为Cookie的值。构造一个名为"userinfo"
的Cookie,Cookie的值是一个包含了用户名和密码的字符串。调用setMaxAge()设置Cookie的最大生存时间,以秒为单位。如果要删除Cookie,可以将时间值设为0,如果时间值为负数,那么当客户端的浏览器关闭时,Cookie将会被删除。只要设置的时间是正数,Cookie就会保存在客户机器的硬盘上
- Cookie[] cookies=req.getCookies();
- if(null!=cookies && cookies.length!=0)
- {
- String name=null;
- String pwd=null;
- for(int i=0;i<cookies.length;i++)
- {
- Cookie cookie=cookies[i];
- String cName=cookie.getName();
-
- if(cName.equals("userinfo"))
- {
- String cValue=cookie.getValue();
- String[] userInfo=cValue.split("&");
-
- for(int j=0;j<userInfo.length;j++)
- {
- String[] value=userInfo[j].split("-");
- System.out.println(value[0]);
- if(value[0].equals("username"))
- {
- name=value[1];
- }
- if(value[0].equals("password"))
- {
- pwd=value[1];
- }
- }
- }
- }
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) |