访问路径:http://localhost:8080/day18/cookieTest

  • cookie可以用于不用登录的用户信息存储
  • 大小为4k,每个域名下最多存20个
  • 同一服务器下不同项目模块的cookie可以设置共享
  • 不同服务器想相同一级域名的cookie也可以设置共享
  • 某些网站的搜素记录,并没有登录
  • 百度的个性化搜索设置,不需要登录用户,登录用户是从数据库取得值
  • 不识别空格[32],需要编码,解码

  1. 有:不是第一次访问

    1. 响应数据:欢迎回来,您上次访问时间为:2018年6月10日11:50:20
    2. 写回Cookie:lastTime=2018年6月10日11:50:01
  2. 没有:是第一次访问
    1. 响应数据:您好,欢迎您首次访问
    2. 写回Cookie:lastTime=2018年6月10日11:50:01
package 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("/cookieTest")
public class CookieTest extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");Cookie[] cookies = request.getCookies();boolean flag = false;//没有cookie的key是lastTimeif (cookies != null && cookies.length > 0) {for (Cookie cookie : cookies) {String name = cookie.getName();if ("lastTime".equals(name)) {flag = true;String value = cookie.getValue();System.out.println("解码前: " + value);//URL解码value = URLDecoder.decode(value, "utf-8");System.out.println("解码后:" + value);response.getWriter().write("<h1>欢迎回来,上次访问时间为:" + value + "</h1>");Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("编码前: " + str_date);//URL编码str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("编码后: " + str_date);cookie.setValue(str_date);cookie.setMaxAge(60 * 60 * 24 * 30);//响应数据response.addCookie(cookie);break;}}}if (cookies == null || cookies.length == 0 || flag == false) {Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");String str_date = sdf.format(date);System.out.println("编码前1: " + str_date);//URL编码str_date = URLEncoder.encode(str_date, "utf-8");System.out.println("编码后1: " + str_date);Cookie cookie = new Cookie("lastTime", str_date);//存活一个月//cookie.setMaxAge(60 * 60 * 24 * 30);response.addCookie(cookie);response.getWriter().write("<h1>你好,欢迎首次访问</h1>");}}
}

使用cookie获取用户上次访问时间相关推荐

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

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

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

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

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

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

  4. 记录用户上次访问时间

    记录用户上次访问服务器的时间 需求:用户第一次访问,显示欢迎,这是您第一次访问,用户后续访问该页面,显示欢迎回来,您的上次访问时间为xxx年xx月xx日 hh:mm:ss 分析: 使用cookie来保 ...

  5. Cookie获取用户的访问记录

    使用Cookie技术  获取用户的访问记录 1.创建 虚拟数据 package com.oracleoaec.cookie;import java.util.HashMap;public class ...

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

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

  7. cookie ? 利用cookie实现 显示上次访问时间?

    二. <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.D ...

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

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

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

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

最新文章

  1. 遇到大容量磁盘你该怎么办?
  2. android webview setappcacheenabled,Java WebView.setDrawingCacheEnabled方法代码示例
  3. 内网PC通过NAT server公网地址访问内部服务器时TCP三次握手不成功
  4. php curl viewstate,php curl – 发布asp.net viewstate值
  5. MFC获取键盘光标和鼠标光标所在控件的ID
  6. DOS Network一月项目月报
  7. bigdecimal如何做除法_二胎家庭如何平衡两个孩子的关系?聪明的父母都懂这四个法则...
  8. 从业回忆录,最后悔的事
  9. 固件类型bios好还是uefi好_uefi启动是什么意思 UEFI启动对比Bios启动优势在哪里
  10. 各类型土地利用图例_给排水系统各部件及图纸你还有多少不了解?
  11. debug跳出循环_Java基础-第04章:循环结构「云图智联」
  12. OSPF的基本配置介绍
  13. HTML语言的三要素,web前端基础技术三要素HTML、CSS、JavaScript
  14. 英特尔下月将推出双核Atom处理器及配套主板
  15. 聊聊Java中的System类
  16. GIS应用水平考试2009年度第一次全国统一考试
  17. 【柒穆雨】平面设计好不好学?设计小白该如何学习平面设计
  18. Google Paly 上传支持64 位设备APP
  19. 计算机强制退出程序键,电脑强制关闭程序按哪三个键
  20. 如何设置 IntelliJ IDEA 主题和字体

热门文章

  1. 春季报名这些问题帮你了解一下邯郸翱翔
  2. 人工智能—永生or灭绝
  3. iOS14.2 导致iPhone疯狂掉电!影响广泛
  4. python语法错误--SyntaxError: Non-UTF-8 code starting with ‘\xd0‘ in file motorcycles.py on line 3
  5. TensorFlow学习笔记Day2-综述
  6. 输入法中的全角与半角的区别
  7. 无线运动蓝牙耳机什么牌子的好、好的蓝牙运动耳机推荐
  8. 那些电影中黑化的人工智能,你了解多少?
  9. CPU型号分析避坑指南——2、游戏电脑与办公电脑CPU该如何选择
  10. 幻灯片,图片相册列表,淘宝商品放大镜 jquery实现