通过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);
}

【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆的更多相关文章

  1. 使用Cookie实现显示用户上次访问时间

    一. 常用Cookie API介绍 1. 获取cookie request.getCookies();  // 返回Cookie[] 2. 创建cookie Cookie(String key, St ...

  2. Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)

    Cooike简介 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的 ...

  3. Cookie实现--用户上次访问时间

    用户上次访问时间  

  4. 2016-02-20WebForm登陆验证,判断用户是否登陆 PageBase类

    http://blog.csdn.net/fanbin168/article/details/49404233 很多时候,WebFrom页面,我们需要判断用户是否已经登陆了.假如有很多页面,难道我们要 ...

  5. Cookie之记录用户上次访问时间

    Cookie之记录用户访问时间 需求: 需求: 1:用户访问服务器(Servlet),判断用户是否是第一次访问,如果是第一次访问,则在页面响应内容为:"您好,欢迎您首次访问"; 2 ...

  6. Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)

    1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器 ...

  7. alertDialog创建登陆界面,判断用户输入

    alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得, 需要在onClickListener中获取,代码如下: public boolean ...

  8. JavaWeb总结(五)—Cookie

    一.会话 1.提出问题 HTTP协议是一种无状态的协议.Web服务器本身不能识别哪些请求是同一浏览器发出的,浏览器的每一次请求都是孤立的.即使HTTP1.1支持持续连接,但当用户有一段时间没有提交请求 ...

  9. js、php 判断用户终端 、浏览器类型

    js 判断 用户使用终端 function isMobeil() { if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iP ...

  10. 使用cookie记录用户上次访问网页的时间,并返回到页面

    package com.hopetesting.cookie;import javax.servlet.ServletException;import javax.servlet.annotation ...

随机推荐

  1. 单Master节点的k8s集群部署-完整版

    K8S 安装步骤 一.准备工作 1.准备三台主机(一台Master节点,两台Node节点)如下: 角色 IP 内存 核心 磁盘 Master 192.168.116.131 4G 4个 55G Nod ...

  2. 简单粗暴的实现 Blazor Server 登录鉴权

    既然是简单粗暴,那么就不用关心诸如 IDentityServer4,OAuth 之类的组件,也不使用 AuthenticationStateProvider.IAuthService, razor 页 ...

  3. 【官宣】2024 DTC数据技术嘉年华全议程发布:汇聚行业精英,共襄年度盛宴

    龙腾四海内,风云际会时.由墨天轮数据社区和中国数据库联盟(ACDU)主办的第十三届数据技术嘉年华 将于2024年4月12日至13日在北京新云南皇冠假日酒店盛大召开.本次大会的主题是"智能·云 ...

  4. 007 Python、Anaconda、pip、Pycharm、Jupyter都是啥?

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  5. JOI 2018 Final

    A - ストーブ (Stove) 有 \(n\) 个客人将要来访,第 \(i\) 个客人的来访时间为 \([a_i, a_i + 1]\),保证 \(\forall i \in [1, n), a_i ...

  6. 妙用编辑器:使用Notepad--的标记颜色功能更高效的阅读日志文件

    应用场景 在日常维护工作中,经常需要查看一些日志,以判断系统的运行状态或者进行问题定位,当系统出现故障时,一般都会有特殊的关键字,但对于浩如烟海的日志来说,识别这些关键字信息还是非常费眼力的,比如有如 ...

  7. 分享一个很好用的代理转发工具:rinetd

    rinetd介绍: 安装与使用:https://zhuanlan.zhihu.com/p/530875131 注意事项: 1.如果发现配置中的端口在进程中没找到,那就是配置填写错误导致的,笔者就遇到过 ...

  8. HAL+CubeIDE,STM32F407ZGT6正点原子探索者,舵机驱动,从零开始

    CubeIDE_HAL库_从零开始玩舵机 1.材料准备 开发板:正点原子STM32F407ZGT6探索者 舵机:SG90 舵机线材分辨:褐色 / 红色 / 橘黄色 -- GND / VCC / PWM ...

  9. springboot将文件处理成压缩文件

    前言 在工作我们经常会出现有多个文件,为了节省资源会将多个文件放在一起进行压缩处理:为了让大家进一步了解我先将springboot处理的方法总结如下,有不到之处敬请大家批评指正! 一.文件准备: ht ...

  10. 学英语工具集KindleVocab和WordSaver

    学英语坚持不下去是因为没选好工具. 我现在用的工具是Kindle+网页读新闻 生词点按之后导出到Anki背诵 借助工具,整个过程几乎无痛 1.Kindle生词及所在句子导出软件 KindleVocab ...