【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);
}
【JavaWeb】【Cookie】通过Cookie记录用户上次登陆时间并判断用户是否是首次登陆的更多相关文章
- 使用Cookie实现显示用户上次访问时间
一. 常用Cookie API介绍 1. 获取cookie request.getCookies(); // 返回Cookie[] 2. 创建cookie Cookie(String key, St ...
- Cookie (设置与读取、超时设置、指定路径、显示用户上次登录时间)
Cooike简介 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的 ...
- Cookie实现--用户上次访问时间
用户上次访问时间
- 2016-02-20WebForm登陆验证,判断用户是否登陆 PageBase类
http://blog.csdn.net/fanbin168/article/details/49404233 很多时候,WebFrom页面,我们需要判断用户是否已经登陆了.假如有很多页面,难道我们要 ...
- Cookie之记录用户上次访问时间
Cookie之记录用户访问时间 需求: 需求: 1:用户访问服务器(Servlet),判断用户是否是第一次访问,如果是第一次访问,则在页面响应内容为:"您好,欢迎您首次访问"; 2 ...
- Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)
1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器 ...
- alertDialog创建登陆界面,判断用户输入
alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得, 需要在onClickListener中获取,代码如下: public boolean ...
- JavaWeb总结(五)—Cookie
一.会话 1.提出问题 HTTP协议是一种无状态的协议.Web服务器本身不能识别哪些请求是同一浏览器发出的,浏览器的每一次请求都是孤立的.即使HTTP1.1支持持续连接,但当用户有一段时间没有提交请求 ...
- js、php 判断用户终端 、浏览器类型
js 判断 用户使用终端 function isMobeil() { if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iP ...
- 使用cookie记录用户上次访问网页的时间,并返回到页面
package com.hopetesting.cookie;import javax.servlet.ServletException;import javax.servlet.annotation ...
随机推荐
- Android中VSYNC代表什么
在 Android 中,VSYNC(Vertical Synchronization)是一个垂直同步信号,用于协调显示刷新和绘图操作.VSYNC 信号的主要作用是控制屏幕刷新频率与图形渲染的同步,以确 ...
- “技术沙龙”来袭,邀您一同探讨 Serverless 数据库技术最佳实践
如今,随着数据库的上云趋势,企业用户对业务连续性的要求越来越高,基于Serverless架构下的数据库也应运而生. Serverless数据库技术可以满足客户在公有云计算环境下根据业务发展弹性扩展集群 ...
- 使用zipkin配置spring boot的链路器(httpclient、restTemplate)
一.首先导入zipkin需要的依赖 <!--zipkin-brave start--> <dependency> <groupId>io.zipkin.brave& ...
- 3DRealCar: An In-the-wild RGB-D Car Dataset with 360-degree Views
3DRealCar:An In-the-wild RGB-D Car Dataset with 360-degree Views Du, Xiaobiao and Sun, Haiyang and W ...
- spring上 -基于注解配置bean,动态代理,AOP笔记
用的是jdk8,spring框架里jar包的下载可以自己搜到 注解用到的jar包. 60,注解配置Bean快速入门 基本介绍 代码结构: UserDao.java package com.hspedu ...
- mysql弱密码爆破
mySQL弱密码 靶场:/vulhub/mysql/CVE-2012-2122 启动: docker-compose up -d 扫描端口 nmap -Sv -Pn -T4 靶机ip 看到在33 ...
- 20240719 CVTE 笔试
岗位:嵌入式软件开发工程师(Linux方向) 题型:20 道不定项选择题,2 道编程题 1.不定项选择题 1.1 如下哪个命令可以帮助你知道 shell 的用法 (D) more help pwd m ...
- 基于pikachu靶场的水平越权详解
1. pikachu靶场搭建 如果你在之前已经使用过phpstudy了,参考pikachu 靶场环境搭建 如果在靶场搭建中遇到一些问题,参考皮卡丘靶场搭建遇到的问题大全 2. 水平越权简介 水平越权是 ...
- Nuxt.js 应用中的 vite:extend 事件钩子详解
title: Nuxt.js 应用中的 vite:extend 事件钩子详解 date: 2024/11/11 updated: 2024/11/11 author: cmdragon excerpt ...
- 快速上手 KSQL:轻松与数据库交互的利器
上次我们通过 Docker 安装了 KingbaseES 数据库,今天我们将开始学习并快速上手使用 KSQL.简单来说,KSQL 本质上是一个客户端工具,用于与数据库进行交互.启动后,我们可以像使用普 ...