使用cookie实现 类似闲鱼的 “一小时前来过”

和 ”上次登录时间“一样,只不过 ”几小时前来过“ 额外加入了一些日期的计算。可以使访问信息更直观。

思路

1.获取客户端携带的名为lastAccessTime的cookie
2.如果cookie 的value为空 则用户是第一次访问本站
3.如果不为空
    1)格式化日期
    2)存入当前日期 ,由于我使用的时SimpleDateFormat格式化日期"yyyy-MM-dd HH:mm:ss",取出当前时间时会产生乱码,所以要使用 URLEncoder.encode 编码 使用URLDecoder.decode解码。
    3)时间转换成Date类型 通过getTime方法转换成ms为单位 。这里的ms指的是1970年1月1日距今的毫秒数 所以数字很大 要使用long类型 。
    4)当前日期的ms数 - cookie中时间的ms数 = 多久前来过(ms)

代码如下:LastVisitServlet.java

@WebServlet("/lastVisitServlet")
public class LastVisitServlet extends HttpServlet {
   
    long days,hours,minutes;
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        response.setContentType("text/html;charset=UTF-8");

        // 获得客户端携带lastAccessTime 的cookie
        Cookie[] cookies = request.getCookies();
        String lastTime = null;
        if (cookies != null) {
   
            for (Cookie cookie 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值