显示用户上次的访问时间

2024-06-08 00:58

本文主要是介绍显示用户上次的访问时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在用户访问我web应用的时候,显示上次访问的时间,这里只显示一次

public class LastAccessTimeFilter extends HttpFilter {public void doFilter(HttpServletRequest request,HttpServletResponse response,FilterChain chain)throws IOException, ServletException {//request.getSession()就会创建一个session,如果没有就会创建一个。isNew()方法为是否为新的session,如果是新的就提示上次访问的时间是,否则就不用老提示。if(request.getSession().isNew()) {// 拦截所有的请求response.setContentType("text/html;charset=utf-8");// 读取cookie  name为lastAccessTimeCookie[] cookies = request.getCookies();String lastAccessTime = null;//首次访问Cookie为空,当调用cookies.length就会报空指针异常for(int i=0; cookies!=null&&i<cookies.length; i++) {if("lastAccessTime".equals(cookies[i].getName())) {lastAccessTime = cookies[i].getValue();//当Cookie很多时,我只要找到了就跳出循环,这样效率会高break;}}if(lastAccessTime==null)response.getWriter().print("您是首次访问本站" + "<hr>");elseresponse.getWriter().print("您上次的访问时间是:" + lastAccessTime + "<hr>");// 获得一个时间Date date = new Date();// 创建 cookieCookie cookie = new Cookie("lastAccessTime", date.toLocaleString());// 必须设置缓存时间,否则当用户关闭浏览器后,会话结束了就没有Cookie了cookie.setMaxAge(60*60*5);// 设置有效路径,这样在访问我web应用的路径的时候就会带着cookie来,若果不设置cookie只在当前路径有效cookie.setPath(request.getContextPath());// 发送cookieresponse.addCookie(cookie);}// 放行chain.doFilter(request, response);}
}


这篇关于显示用户上次的访问时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040801

相关文章

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)