【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 ...
随机推荐
- wpf基本布局控件 -- 01
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...
- vue 的响应式原理
首先,遍历data的数据,通过 Obejct.defineProperty 定义数据,给数据加上 geter 和 setter 函数,获取数据触发 getter函数, 修改数据时触发 setter函数 ...
- 装有docker的虚拟机环境ping宿主机失败
当我用docker network create 创建了一个网络后 [root@localhost ~]# docker network create kong-net 5c035564f9b4649 ...
- 浅谈 K-D Tree 及其进阶应用
前言 \(\text{K-D Tree (K-Dimension Tree)}\) 是一种可以有效处理高维信息的数据结构. 在一般信息学竞赛题目中 \(k = 2\),此时它又称 \(\text{2- ...
- 驻扎初篇(markdown)
markdown的初级使用语法 本片作为开始使用博客的第一篇笔记 只为了方便为日后的编辑博客做基础的语言记录 以下为markdown的语法 ##标题 # 标题一 ## 标题二 ### 标题三 #### ...
- 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-3-启动浏览器(详细教程)
1.简介 通过前边两篇文章跟随宏哥学习想必到这里已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动两大浏览器.按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrom ...
- 分享一个很好用的代理转发工具:rinetd
rinetd介绍: 安装与使用:https://zhuanlan.zhihu.com/p/530875131 注意事项: 1.如果发现配置中的端口在进程中没找到,那就是配置填写错误导致的,笔者就遇到过 ...
- Nuxt.js 应用中的 build:before 事件钩子详解
title: Nuxt.js 应用中的 build:before 事件钩子详解 date: 2024/10/20 updated: 2024/10/20 author: cmdragon excerp ...
- 自建家庭 KTV,在家想嗨就嗨
现在用户最多.曲库最多的 K 歌软件是全民K歌,基本上想唱的歌都有,而且基本上每首歌都有 MV 或视频,使用体验也还不错,但是收费太贵了,对于一个月唱不了几次的打工人来说,唱一首歌就是"天价 ...
- vue 父子组件之间传值
在vue中父子组件传值是必不可少的,大家必须要学会! 首先父组件向子组件传值: 父组件:比如我们传teacher为index,如果我们传值变量可以使用 : 绑定我们在data中定义的变量. 子组件:为 ...