java判断cookie是否过期_Cookie的使用(判断登录时间)
案例:记住上一次访问时间
1. 需求:
1. 访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问。
2. 如果不是第一次访问,则提示:欢迎回来,您上次访问时间为:显示时间字符串
2. 分析:
1. 可以采用Cookie来完成
2. 在服务器中的Servlet判断是否有一个名为lastTime的cookie
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 com.itcsl.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 javax.xml.crypto.Data;
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 doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1.获取所有的coookie
Cookie[] cookies = request.getCookies();
boolean flag=false;
//2.遍历所有的cookie
//先判断不为空,长度大于0
if (cookies!=null&&cookies.length>0){
for (Cookie c:cookies){
String name = c.getName();
//4.判断,名称是否为lastTime
if ("lastTime".equals(name)){
//有该cookie,不是第一次访问
flag=true;
//设置cooki的value
// 获取当前时间的字符串,重新设置cookie的值重新发送
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = dateFormat.format(date);
System.out.println("编码前的数据:"+str_date);
//URL编码
str_date=URLEncoder.encode(str_date,"utf-8");
c.setValue(str_date);
//设置cookie的存活时间
c.setMaxAge(60*60*24*30);//一个月
//响应数据
//获取cookie的时间
String value = c.getValue();
//URL解码
System.out.println("编码的的数据:"+str_date);
value= URLDecoder.decode(value,"utf-8");
System.out.println("解码后的数据:"+value);
response.getWriter().write("欢迎回来,您上次访问时间为:"+value);
break;
}
}
}
if (cookies==null||cookies.length==0||flag==false){
//没有,第一次访问
//设置cooki的value
// 获取当前时间的字符串,重新设置cookie的值重新发送
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str_date = dateFormat.format(date);
//URL编码
str_date=URLEncoder.encode(str_date,"utf-8");
Cookie cookie = new Cookie("lastTime",str_date);
response.addCookie(cookie);//发送cookie
//设置cookie的存活时间
cookie.setMaxAge(60*60*24*30);//一个月
response.getWriter().write("您好,欢迎您首次访问");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
java判断cookie是否过期_Cookie的使用(判断登录时间)相关推荐
- jwt判断token是否过期_4spring-security5整合jwt做登录、权限验证,全网最全!!!可用...
github源码: https://github.com/gyb123456/spring-security5-jwt,最烦那些写文档只截图一半还不给源码的人,要不你就截全图,要不就给源码! 前言: ...
- java cookie过期_Java中Servlet Cookie设置过期时间(expires,max-age)
Java中Servlet Cookie设置过期时间(expires,max-age) expires或者max-age指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏 ...
- java 通过cookie判断是否登陆
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOExc ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
- 一个判断session是否过期的小技巧
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Session一直是我们做web项目经常使用的,以前没太注意,这次又细致的看了下! 1.sessio ...
- java之Cookie详解
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...
- java 中cookie是什么_什么是cookie?
为什么要用Cookie 浏览器与WEB服务器之间是使用HTTP协议进行通讯的,而HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断浏览器身份,即无论浏览器是否已经访问过,服务器都会当成第一次 ...
- 利用cookie和jsp写一个简单的登录判断的网页,并获取上次的登录的时间。
要求:因为只是简单制作,没必要连数据库,直接用确定值去判断.然后就是第一次登录的时候需要获取到登录的时间,然后在下次登录的时候将上次获取到的时间输出. 思路:首先第一个,第一次登录的jsp(姑且当做注 ...
- cookie设置过期时间
封装初衷-不想每次设置cookie的过期时间都写一遍,比较烦! 目前这个包放在npm库中,下载npm install happycookie class happyCookie {constructo ...
最新文章
- RK3399如何选择系统呢?
- Javascript数组常见的方法
- vb字符串在内存中的分布?
- 为什么要学习 Markdown?究竟有什么用?怎么用?
- 硬件?软件?视频会议系统中两者有何区别?
- 【推荐实践】信息流推荐在凤凰新闻的业务实践
- vscode插件之php插件koroFileHeader(自动生成注释)
- 057 生成器和生成器表达式
- windows功能_支持 AirPlay/DLNA 功能的 Windows 影音播放软件 5KPlayer
- 使用brew services管理服务
- FFMPEG 常用命令一览
- 【Keras】使用LSTM预测股票走势
- Nova8pro自动调节亮度忽亮忽暗问题
- LOGO设计辅助图形的人性化设计
- Linux服务器压测/拷机软件收集
- Android之重写与重载
- Alex 我为自己代言
- radan7中文使用手册
- 西北乱跑娃 -- python识别二维码
- 9、图解门禁系统电锁分类及安装方法