cookie实现上次访问时间

简介: cookie实现上次访问时间

1.需求:

  • 访问一个servlet,如果是第一次访问,则提示:你好,欢迎你首次访问
  • 如果不是第一次访问,则提示:欢迎回来,你上次访问的时间为:显示时间

2.分析

1.可以用cookie来完成

2.在服务器中的servlet判断是否有一个名为last_time的cookie

  • 有,不是第一次访问
  • 没有: 是第一次访问

3.代码实现如下:

package com.lili.servlet.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.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * @author: QiJingJing
 * @create: 2021/7/31
 */
@WebServlet("/lastTime")
public class LastTimeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 设置编码信息
        response.setCharacterEncoding("utf-8");
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        // 需要显示的日期类型
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
        // 获取所有cookie信息
        Cookie[] cookies = request.getCookies();
        PrintWriter out = response.getWriter();
        boolean flag = false;
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                if ("last_time".equals(cookie.getName())) {
                    flag = true;
                    out.write("<h1>欢迎回来,你上次访问时间为" + cookie.getValue() + "</h1>");
                    // 设置新值
                    cookie.setValue(sdf.format(new Date()));
                    response.addCookie(cookie);
                }
            }
        }
        // 判断是否为第一次访问
        if (!flag) {
            response.getWriter().write("<h1>这是你第一次访问</h1>");
            // 添加cookie
            response.addCookie(new Cookie("last_time", sdf.format(new Date())));
        }
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}


目录
相关文章
|
存储
12JavaWeb基础 - Cookie技术
12JavaWeb基础 - Cookie技术
50 0
|
3月前
|
存储 JavaScript 前端开发
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
186 1
|
3月前
|
JSON JavaScript 前端开发
Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作
这篇文章介绍了在Vue项目中如何使用JavaScript操作Cookie,包括设置、读取、设置过期时间以及删除Cookie的方法。
269 0
|
11月前
|
存储 程序员 PHP
修改session的过期(生存)时间
以下我以php为例,万变不离其宗,希望对大家都有用吧。 session与cookie: 了解过两者的众所都知道,有些信息保存到cookie,有些出于安全问题就不能直接存到浏览器,这就要用到session了。然而对于浏览器,一般都是默认20-30分钟自动销毁或者关闭浏览器就会销毁。这显示是很头疼的事情,比如我们要实现用户登陆功能,关闭浏览器就要重新登陆,这搞什么鬼?所以我们要去试图改变它们。网上众说纷纭,你可以选择去修改默认配置文件,如php为例,修改php.ini的函数。但是染念却不喜欢修改修改默认,也在网上看到某些程序员是没有权限修改的,所以我们需要做到如何不修改默认文件达到这样的功能。
62 0
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
54 0
|
数据安全/隐私保护
|
存储 JavaScript
本地存储(localStorage)如何设置过期时间?
在我们使用cookie的时候是可以设置有效期的,但是localStorage本身是没有该机制的,只能人为的手动删除,否则会一直存放在浏览器当中,可不可以跟cookie一样设置一个有效期。如果一直存放在浏览器又感觉有点浪费,那我们可以把localStorage进行二次封装实现该方案。
473 0
本地存储(localStorage)如何设置过期时间?
|
JavaScript
localStorage 设置过期时间?
localStorage 设置过期时间?
localStorage 设置过期时间?
【C#】【Cookie】Cookie设置与读取
【C#】【Cookie】Cookie设置与读取
272 0