通过cookie保存并读取用户登录信息实例

通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。 
下面通过cookie保存并读取用户登录信息的例子加深一下理解。 
(1)创建index.jsp文件。在改文件中,首先获取cookie对象的集合,如果集合不为空,就通过for循环遍历cookie集合,从中找出设置的cookie(这里设置为lee),并从该cookie中提取出用户名和注册时间,再根据获取的结果显示不同的提示信息。
Java代码   收藏代码
  1. <%@ page language="java" contentType="text/html; charset=utf-8"  
  2.     pageEncoding="utf-8"%>  
  3.     <%@page import="java.net.URLDecoder" %>  
  4. "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5.   
  6.   
  7. "Content-Type" content="text/html; charset=utf-8">  
  8. 通过cookie保存并读取用户登陆信息  
  9.   
  10.   
  11. <%  
  12. Cookie[] cookies=request.getCookies();//从request中获得cookie对象的集合  
  13. String user="";//登录用户  
  14. String date="";//注册时间  
  15. if(cookies!=null){  
  16.     for(int i=0;i
  17.         if(cookies[i].getName().equals("lee")){  
  18.             user=URLDecoder.decode(cookies[i].getValue().split("#")[0]);//获取用户名  
  19.             date=cookies[i].getValue().split("#")[1];//获取注册时间  
  20.                                                                              
  21.         }  
  22.     }  
  23.                                                                      
  24. }  
  25. if("".equals(user)&&"".equals(date)){ //如果没有注册  
  26. %>  
  27. 游客你好,欢迎你初次光临!  
  28. "deal.jsp"method="post">  
  29. 请输入姓名:"user"type="text"value="">  
  30. "submit"value="确定">  
  31.   
  32. <%  
  33. }else//已经注册  
  34.     %>  
  35.     欢迎[<%=user %>]再次光临
      
  36.     你注册的时间是:<%=date %>  
  37. <%  
  38. }  
  39. %>  
  40.   
  41.   
Java代码   收藏代码
  1. <%@ page language="java" contentType="text/html; charset=utf-8"  
  2.     pageEncoding="utf-8"%>  
  3.     <%@page import="java.net.URLEncoder" %>  
  4. "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5.   
  6.   
  7. "Content-Type" content="text/html; charset=utf-8">  
  8. 写入cookie  
  9.   
  10.   
  11. <%  
  12. request.setCharacterEncoding("utf-8");//设置请求的编译为utf-8  
  13. String user=URLEncoder.encode(request.getParameter("user"),"utf-8");//获取用户名  
  14. Cookie cookie=new Cookie("lee",user+"#"+new java.util.Date().toLocaleString());//创建并实例化cookie对象  
  15. cookie.setMaxAge(60*60*24*30);//设置cookie有效期为30天  
  16. response.addCookie(cookie);  
  17. %>  
  18. "text/javascript">window.location.href=\'#\'" /script>  
  19.   
  20.  
技巧:在向cookie中保存的信息中如果包括中文,需要调用java.net.URLEncoder类的encode()方法保存到cookie中的信息进行编码;在读取内容时,需要应用到java.net.URLDecoder类的decode()方法进行解码。这样就可
以成功地向cookie中写入中文

转:http://840327220.iteye.com/blog/2020296

你可能感兴趣的:(cookie,html)