Cookies 记录和保存用户上次访问的时间
原理:
当我们第一次访问时:
(1)第一次访问时,获取当前时间显示到浏览器中,
(2)创建Cookie对象,时间作为Cookie的值,名为:lastTime
(3)把Cookie发送到浏览器保存
第n次访问时:
(1)获取Cookie的数据,取出上次保存的Cookie,得到上次访问的时间
(2)显示上次的访问时间到浏览器,更新lastTime的值,时间为当前的时间
(3)把更新后的Cookie发送到浏览器保存
@RequestMapping("/getTime") @ResponseBody public ResponseView doget(HttpServletRequest request, HttpServletResponse response,HttpSession session)throws IOException { logger.info("获取登录时间。。。"); ResponseView vo = new ResponseView(); //获取当前时间 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String curTime = format.format(new Date()); Users user = (Users)session.getAttribute("users"); //取得cookie Cookie[] cookies = request.getCookies(); String lastTime = null; if(cookies!=null){ for (Cookie cookie : cookies) { if(cookie.getName().equals("lastTime")){ //有lastTime的cookie,已经是第n次访问 lastTime = cookie.getValue();//上次访问的时间 System.out.println(lastTime); //第n次访问 //1.把上次显示时间显示到浏览器 vo.setData("欢迎你回来,"+user.getUserName()+",你上次访问的时间为:"+lastTime+",当前时间为:"+curTime+""); //response.getWriter().write("欢迎回来,你上次访问的时间为:"+lastTime+",当前时间为:"+curTime); //2.更新cookie cookie.setValue(curTime); cookie.setMaxAge(1*30*24*60*60); //3.把更新后的cookie发送到浏览器 response.addCookie(cookie); break; } } } /** * 第一次访问(没有cookie 或 有cookie,但没有名为lastTime的cookie) */ if(cookies==null || lastTime==null){ //1.显示当前时间到浏览器 //response.getWriter().write("你是首次访问本网站,当前时间为:"+curTime); vo.setData("你是首次访问本网站,当前时间为:"+curTime); //2.创建Cookie对象 Cookie cookie = new Cookie("lastTime",curTime); //保存一个月 cookie.setMaxAge(1*30*24*60*60); //3.把cookie发送到浏览器保存 response.addCookie(cookie); } return vo; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律