记录用户上次访问服务器的时间

需求:用户第一次访问,显示欢迎,这是您第一次访问,用户后续访问该页面,显示欢迎回来,您的上次访问时间为xxx年xx月xx日 hh:mm:ss

分析: 使用cookie来保存该访问时间

  • 创建servlet,要知道用户是否第一次访问 判断是否有个名为lastVisit的cookie
  • 每次访问该servlet都要存储lastVisit的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.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;@WebServlet("/userTime")
public class UserTime extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 解决乱码(get请求不用解决乱码问题)request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");// 获取页面传回的数据String username = request.getParameter("username");String password = request.getParameter("password");// 判断if ("张三".equals(username) && "123456".equals(password)) { //登录成功// 默认第一次登录boolean isFirst = true;// 第一次登录的上一次访问时间为空String decode = null;// 获取cookieCookie[] cookies = request.getCookies();if (cookies != null) { // 防止空指针引用for (Cookie cookie1 : cookies) { // 遍历查找// 获取每一个cookie的名String name = cookie1.getName();// 判断是否第一次登录if ("lastVisit".equals(name)) { //有上一次访问的记录,则不是第一次登录isFirst = false;// 获取上一次访问的时间String value = cookie1.getValue();// 将获取到的时间解码decode = URLDecoder.decode(value, "utf-8");}}}// 写入页面if (isFirst) response.getWriter().write("欢迎,这是您第一次登录");else response.getWriter().write("欢迎回来,您上次访问的时间是" + decode);/*无论是第几次登录都将当前的时间存入cookie*/// 获取当前时间SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");Date date = new Date(System.currentTimeMillis());String visitTime = formatter.format(date);// 将时间存入cookieString encode = URLEncoder.encode(visitTime, "utf-8");Cookie cookie = new Cookie("lastVisit", encode);response.addCookie(cookie);} else { // 登录失败// 设置域对象(名:值)request.setAttribute("msg", "用户名或者密码错误");// 回到登录的页面request.getRequestDispatcher("login.jsp").forward(request, response);}}
}

记录用户上次访问时间相关推荐

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

    目录 一.记录上一次用户访问时间 1.1 需求 1.2 分析 1.3 代码实现 1.4 实现效果图 1.5 总结 一.记录上一次用户访问时间 1.1 需求 (1)访问一个Servlet,如果是第一次访 ...

  2. 简单的Cooki案例——记录用户上次访问该网页的时间

    功能: 帮助网站实现提示客户端计算机上次访问网站的时间 实现原理: 将每一个会话作为一次访问过程,将每次会话的开始时间作为每次访问网站的时间,然后将这个时间以Cookie的形式存储到客户端的计算机中, ...

  3. servlet session 跟踪用户上次访问时间

    1.是什么? 上次访问时间:即用户最近一次登录时间: 2.为什么? 为了提示用户登录或访问记录,提高安全性,如qq登录提示: 3.怎么做? 通过cookie 实现: 用户第1次登录, 服务器把访问时间 ...

  4. 使用cookie获取用户上次访问时间

    访问路径:http://localhost:8080/day18/cookieTest cookie可以用于不用登录的用户信息存储 大小为4k,每个域名下最多存20个 同一服务器下不同项目模块的coo ...

  5. 显示用户上次访问时间

    一.创建LastAccessServlet 该类主要用于实现获取Cookie信息并将当前时间作为Cookie值发送给客户端. public class LastAccessServlet extend ...

  6. Cookie实例:显示用户上次访问的时间

    1. 效果 用户第一次访问HistServlet的时候,页面显示你是首次访问本网站,当前时间为:xxx.第n次访问:欢迎回来, 你上次访问的时间为xxx,当前时间为xxx. 2. 分析 要保证第二次访 ...

  7. php 上次登陆时间,php使用cookie显示用户上次访问网站日期的方法

    本文实例讲述了php使用cookie显示用户上次访问网站日期的方法.分享给大家供大家参考.具体实现方法如下:<?php if(!empty($_COOKIE['lastvisit'])){//先 ...

  8. Servlet案例6:显示用户的上次访问时间

    这里是cookie的简单应用 告诉用户您的上次访问时间是:xxxx-xx-xx xx:xx:xx 思路: 第一次访问该网站时候,记录当前访问时间(new Date()) 把当前时间以cookie的形式 ...

  9. JavaScript Cookie记录用户上次登陆的时间

    目录 目录 前言 一.Cookie是什么? 二.需求分析 需求: 思路: 三.如何判断什么情况下是第一次访问,什么情况下是第n次访问? 四.代码如下 1.创建登录页面 2.登录成功判断是否为第一次访问 ...

最新文章

  1. java异常_Java的异常体系
  2. 配置HDFS HttpFS和WebHDFS
  3. 我的团队[六]———功夫在诗外
  4. wxWidgets:wxDir类用法
  5. eclipse上安装hadoop后报错 Error:org.hadoop.security.AccessControlException:Permission
  6. 初识MASA Blazor
  7. sqlserver复习总结
  8. yum安装ruby_centos 6.5 ruby环境安装
  9. python go rpc_Go实现简易RPC框架的方法步骤
  10. congatec AG acquires Real-Time Systems GmbH
  11. Animate.css动画库下载、安装、使用与解析
  12. Crystal Reports基础知识
  13. android机顶盒root,[Android]机顶盒root脚本:SupersuSU获取完美Root权限万能方法,解决二进制更新问题 | 樱花庄...
  14. UE4添加人物动画之状态机
  15. java 类型通配符_通配符类型
  16. 如何使用MyBatis-Plus中的代码生成器?
  17. 花生壳配置域名以及公网ip
  18. http和https的区别
  19. Typora配置smms图床
  20. 《魂斗罗:归来》子弹中没中,没你想得那么简单!

热门文章

  1. IMU(陀螺仪、加速度计)Magnetometer(磁力计)校准方法和流程
  2. 爬虫--05:多线程
  3. Python中实现获取所有微信好友的头像并拼接成一张图片
  4. hahahahaha
  5. 巴菲特与索罗斯的投资习惯
  6. 关于韩版三星S20+手机5G网络信号问题解决办法
  7. c 语言实践pdf 吕强,吕强
  8. CSDN下载积分最新情况
  9. Convnet介绍(1)
  10. A ConvNet for the 2020s 简单翻译/理解