您的位置:首页 > 其它

cookie 实现显示最近一次登录时间与删除cookie

2016-09-13 21:18 513 查看
一、cookie 实现显示最近一次登录时间与删除cookie

  response.setContentType("text/html;charset=utf-8");

         PrintWriter out = response.getWriter();

         //得到客户端的所有的Cookie

         Cookie[] cookies=request.getCookies();

         //注:Cookie是一个键值对,并且键和值都是String的

         if(cookies!=null){

             for(int i=0;i<cookies.length;i++){

                 String name = cookies[i].getName();//得到Cookie的name键

                 if("lastAccessTime".equals(name))

                 {

                     String time = cookies[i].getValue();//得到最后登录时间,时间是字符串类型的

                    out.println(time+"<br>");  

                     long  t = Long.parseLong(time);

                     out.println("上次登录时间为:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(t)));

                 }

             }

         }

        

         //删除cookie

         out.println("<a href='"+request.getContextPath()+"/servlet/delcookie'>删除Cookie</a>");      

         //把这次的登录时间以Cookie的形式发送给客户端

         //创建Cookie    键 值

         Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");

         cookie.setMaxAge(60*15);//Cookie 被存储到磁盘了 存活期15min

         cookie.setPath(request.getContextPath());//相同应用目录名开头都能访问

         //cookie.setPath("/");// 效果同上

         //把cookie发送给客户端
        response.addCookie(cookie);  

二、/servlet/delcookie中实现删除cooike--覆盖,设置存活时间0,设置路径防错删

        response.setContentType("text/html;charset=utf-8");

        

        //删除Cookie

        Cookie cook = new Cookie("lastAccessTime", "");

        cook.setMaxAge(0);

        //设置path,否则可能会错删

        cook.setPath(request.getContextPath());

        response.addCookie(cook);   

小结:setMaxAge

           Cookie默认存储在浏览器的内存,浏览器一旦关闭,Cookie全都没了

           setMaxAge(time)设置Cookie的最大存活时间,默认单位是秒

          setMaxAge(-1);默认是-1,浏览器一旦关闭,Cookie全都没了

          setMaxAge(0):浏览器不关闭,Cookie也没了

           setMaxAge(正数)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息