Cookie获取访问时间经典案例

package com.wb.cookie;

import javax.servlet.http.Cookie;
import java.io.IOException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;

@javax.servlet.annotation.WebServlet("/CookieDemo")
public class CookieDemo extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        this.doGet(request, response);
    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        //设置相应字符集
        response.setContentType("text/html;charset=utf-8");
        //获取Cookie
        Cookie[] cookies = request.getCookies();
        //遍历Cookies数组   遍历之前先进行判断,Cookies中有没有值
        if (cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                //获取Cookie的名称
                String name = cookie.getName();
                //判断改名称是否为上一次访问名称
                if (("lastname").equals(name)) {
                    //存在改cookie说明不是第一次访问
                    //获取当前时间,并且赋值给Cookie
                    String newDate = this.DateFormat();
                    //将格式化后的日期URL编码
                    newDate = URLEncoder.encode(newDate, "utf-8");
                    //设置Cookie
                    cookie.setValue(newDate);
                    //设置Cookie的存活时间
                    cookie.setMaxAge(60 * 60 * 24 * 30);
                    response.addCookie(cookie);
                    //获取相应数据
                    String value = cookie.getValue();
                    //url解码
                    value = URLDecoder.decode(value, "utf-8");
                    response.getWriter().write("欢迎回来,您上次的访问时间为" + value);
                    break;
                }
            }
        } else {
            String newDate = this.DateFormat();
            //URL编码
            newDate = URLEncoder.encode(newDate, "utf-8");
            //创建Cookie
            Cookie cookie = new Cookie("lastname", newDate);
            //获取Cookie
            String value = cookie.getValue();
            //URL解码
            value = URLDecoder.decode(value, "utf-8");
            cookie.setMaxAge(60 * 60 * 24);
            response.addCookie(cookie);
            response.getWriter().write("欢迎您首次访问,当前时间是:" + value);
        }

    }

    public String DateFormat() {
        //获取当前日期
        Date date = new Date();
        //日期格式化
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        return sdf.format(date);
    }
}

运行效果如图

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP经典100例.,php教材实例,从基础到实践,由浅到深... 24:经典循环例子 25:for的高级运用 26:简单的函数 27:有返回值的函数 28:有默认参数的函数 29:判断整数 30:动态调用函数 31:一个简单的数组 32给数组增加元素 33初始化数组 34获取数组中的元素 35创建一个多维数组 36PHP 4.0实现表格状打印 37实现背景颜色的改变 38文件上传 39查看PHP的环境变量 40使用文件包含 41打开本地或者远程文件 42读取文件内容 43访问文件常见属性 44调用文本文件内容 45PHP判断文件是否存在 46访问文件时间属性 47创建目录函数 48浏览目录 49取得浏览器的信息 50PHP相关信息 51常用的数值判断函数 52数组排序的使用 53常用数组函数 54常用字符串函数(一) 55常用字符串函数(二) 56常用字符串函数(三) 57编码和解码函数 58常用数学函数(一) 59常用时间函数(二) 60日期检查函数 61常用时间函数(一) 62常用时间函数(二) 63程序暂停函数 64图像函数 65session函数 66拼写检查 67循环中调用函数 68转换所有的标记为PHP 69取得页面的链接 70对分查找法 71文件上传界面 72用PHP4实现顶级域名查询 73日期合法性检查 74检查一个邮政编码 75得到100个随机数字 76得到十个随机数 77分成数组 78计算星座的函数 s 79检测OICQ用户是否在线 80检测操作系统和浏览器类型 81用PHP4连接一个mysql数据库操作的演示 82//本例是用PHP4实现向一个mysql数据表添加记录, 83//本例是用PHP4实现修改一个mysql数据表 84本例是用PHP4实现删除一个mysql数据记录 85//本例是用PHP4实现向一个ODBC数据表添加记录 86//本例是用PHP4实现向一个ODBC数据表添加记录 87用户登录,注册新用户 88用COOKIE保存投票人的投票记录 89php4+mysql 留言本 90文件上传处理 91页面浏览计数器 92链接 93在线聊天 94简单的新闻公告栏 95PHP目录树演示 96访客留言本 97实现在线投票 98世纪万年历 99php挖地雷 100文件管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值