需求 1.  访问一个servlet,如果第一次访问,则提示:您好!欢迎首次访问
2. 如果不是第一次访问,则提示:欢迎回来,您上次到访时间为:显示时间字符串 
分析 1.  可以采用cookie完成
2. 在服务器中的servlet判断是否有一个名字为lastTime的cookie
    1. 有:不是第一次访问
        1. 响应数据:欢迎回来,您上次的访问时间为:时间
        2.  写回cookie:lastTime=时间
    2. 没有:是第一次访问
        1. 响应数据:您好,欢迎首次访问
        2. 写回cookie:lastTime=时间注意事项 
代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 package  com.web.cookie;import  javax.servlet.ServletException;import  javax.servlet.annotation.WebServlet;import  javax.servlet.http.Cookie;import  javax.servlet.http.HttpServlet;import  javax.servlet.http.HttpServletRequest;import  javax.servlet.http.HttpServletResponse;import  java.io.IOException;import  java.net.URLDecoder;import  java.net.URLEncoder;import  java.text.SimpleDateFormat;import  java.util.Date;	 @WebServlet (urlPatterns = "/CookieTest" )public  class  CookieTest  extends  HttpServlet   {    @Override      protected  void  doPost (HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException  {            response.setContentType("text/html;charset=UTF-8" );                  Cookie[] cookies = request.getCookies();         Boolean flag = false ;                      if  (cookies != null && cookies.length>0 ){             for  (Cookie cookie : cookies) {                                  String name = cookie.getName();                 if  ("lastTime" .equals(name)){                                          flag = true ;                                          Date date = new  Date();                     SimpleDateFormat sdf = new  SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss" );                     String str_date = sdf.format(date);                     System.out.println("编码前:" +str_date);                     str_date = URLEncoder.encode(str_date, "utf-8" );                     System.out.println("编码后:" +str_date);                     cookie.setValue(str_date);                                          cookie.setMaxAge(60 *60 *24 );                     response.addCookie(cookie);                                                               String value = cookie.getValue();                     System.out.println("解码前:" +value);                     value = URLDecoder.decode(value,"utf-8" );                     System.out.println("解码后:" +value);                     response.getWriter().write("<h1>欢迎回来,您上次的访问时间为:" +value+"</h1>" );                 }             }         }else  if  (cookies==null  || cookies.length==0 ||flag==false ){                                       Date date = new  Date();             SimpleDateFormat sdf = new  SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss" );             String str_date = sdf.format(date);             str_date = URLEncoder.encode(str_date, "utf-8" );             Cookie cookie = new  Cookie("lastTime" ,str_date);                          cookie.setMaxAge(60 *60 *24 );               response.addCookie(cookie);             response.getWriter().write("<h1>您好,欢迎首次访问</h1>" );         }     }     @Override      protected  void  doGet (HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException  {         this .doPost(request, response);     } } 
 
      
     
    
   
  
    
    
  
    
      < 
      
        
          JavaEE会话技术之Session
        
      
     
  
  
    
      JavaEE会话技术之Cookie
      >