【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

简介: 【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆

通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆


Cookie类的构造方法

public Cookie(java.lang.String name,java.lang.String )

1.创建一个相关的Servlet类

略,自行创建

2.指定服务器输出内容编码方式为utf-8

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

3.判断是否已有所需Cookie

先设置一个代表所需Cookie的变量

String lastVisitTime = null;

获取当前所有Cookie,存放到数组Cookies中

Cookie[] cookies = request.getCookies();

并遍历查找是否有我们所需Cookie

for(int i = 0; cookies!=null && i < cookies.length;i++){
//“LastVisitTime”是我们所需Cookie的名称
            if("LastVisitTime".equals(cookies[i].getName())){
//如果有我们想要的Cookie,就把它的值放在变量lastVisitTime中
                lastVisitTime = cookies[i].getValue();
                break;
            }
        }

判断名称是否存在名称为LastVisitTime

if(lastVisitTime==null){
            response.getWriter().println("您是首次访问本站");
        }else{
            response.getWriter().println("欢迎回来,上次登陆时间:"+lastVisitTime);
        }

4.创建cookie

//创建cookie,将当前时间作为cookie值发给客户端
        String currenTime = new SimpleDateFormat("yyyy-M-d:hh:mm:ss").format(new Date());
        Cookie cookie = new Cookie("LastVisitTime",currenTime);
        cookie.setPath("/");
        //发送cookie
        response.addCookie(cookie);

完整代码如下

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 指定服务器输出内容编码方式为utf-8,以防乱码
        response.setContentType("text/html;charset=utf-8");
        String lastVisitTime = null;
        // 获取所有Cookie,并将这些Cookie存放在数组中
        Cookie[] cookies = request.getCookies();
        // 遍历所有Cookie数组
        for(int i = 0; cookies!=null && i < cookies.length;i++){
            if("LastVisitTime".equals(cookies[i].getName())){
                lastVisitTime = cookies[i].getValue();
                break;
            }
        }
        //判断名称是否存在名称为LastVisitTime
        if(lastVisitTime==null){
            response.getWriter().println("您是首次访问本站");
        }else{
            response.getWriter().println("欢迎回来,上次登陆时间:"+lastVisitTime);
        }
        //创建cookie,将当前时间作为cookie值发给客户端
        String currenTime = new SimpleDateFormat("yyyy-M-d:hh:mm:ss").format(new Date());
        Cookie cookie = new Cookie("LastVisitTime",currenTime);
        cookie.setPath("/");
        //发送cookie
        response.addCookie(cookie);
    }
相关文章
|
6月前
|
存储
Javaweb | 状态管理:Session、Cookie
Javaweb | 状态管理:Session、Cookie
66 0
|
存储
12JavaWeb基础 - Cookie技术
12JavaWeb基础 - Cookie技术
50 0
|
2月前
|
前端开发 JavaScript 安全
node登陆接口权限配置cookie-parser、express-session
本文介绍了在Node.js中使用express-session和cookie-parser实现登录接口的权限配置,包括验证码接口的生成和自定义中间件的创建,用于验证用户权限。
25 0
node登陆接口权限配置cookie-parser、express-session
|
2月前
|
存储 前端开发 Java
JavaWeb基础7——会话技术Cookie&Session
会话技术、Cookie的发送和获取、存活时间、Session钝化与活化、销毁、用户登录注册“记住我”和“验证码”案例
JavaWeb基础7——会话技术Cookie&Session
|
3月前
|
存储 安全 搜索推荐
【JavaWeb 秘籍】Cookie vs Session:揭秘 Web 会话管理的奥秘与实战指南!
【8月更文挑战第24天】本文以问答形式深入探讨了Web开发中关键的会话管理技术——Cookie与Session。首先解释了两者的基本概念及工作原理,随后对比分析了它们在存储位置、安全性及容量上的差异。接着,通过示例代码详细介绍了如何在JavaWeb环境中实现Cookie与Session的操作,包括创建与读取过程。最后,针对不同应用场景提供了选择使用Cookie或Session的指导建议,并提出了保障二者安全性的措施。阅读本文可帮助开发者更好地理解并应用这两种技术。
58 1
|
3月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
239 0
|
6月前
|
存储 安全 Java
JavaWeb中的Session和Cookie
本文介绍了JavaWeb中的会话跟踪技术,主要讨论了Cookie和Session的概念、用途、设置与获取方法以及生命周期。Cookie是客户端技术,用于在用户浏览器中存储信息,通常用于保持用户登录状态,有效期可设置。Session则保存在服务器端,用于跟踪用户状态,例如登录信息,生命周期可通过设置最大不活动时间控制。两者之间的主要区别在于数据存储位置和安全性,Cookie数据在客户端,可能存在安全风险,而Session数据在服务器端,相对较安全但会占用服务器资源。
|
6月前
|
前端开发 API 数据安全/隐私保护
【JavaWeb】Cookie和Session解析
【1月更文挑战第26天】【JavaWeb】Cookie和Session解析
|
存储 API
14JavaWeb基础 - Cookie 与 Session API总结
14JavaWeb基础 - Cookie 与 Session API总结
37 0