news 2026/6/9 23:28:43

IDEA(2020版)sevlet+cookie实现显示上次访问时间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA(2020版)sevlet+cookie实现显示上次访问时间

查看全文请点击:https://www.longkui.site/program/java/idea2020sevletcookie/7197/


【任务目标】

当用户访问某些Web应用时,经常会显示出该用户上一次访问时间。例如,QQ登录成功后,会显示上次的登录时间。本案例要求使用Cookie技术显示用户上次访问时间。

1.创建Servlet
右击src,选择New—>Create New Servlet,名字为LastAccessServlet


参考代码如下:

importjava.io.IOException;importjava.net.URLDecoder;importjava.net.URLEncoder;importjava.text.SimpleDateFormat;importjava.util.Date;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.*;@WebServlet(name="LastAccessServlet",urlPatterns="/LastAccessServlet")public class LastAccessServlet extends HttpServlet{private static final long serialVersionUID=1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{//指定服务器输出内容的编码方式UTF-8,防止发生乱码 response.setContentType("text/html;charset=utf-8");//获取所有cookie Cookie[]cookies=request.getCookies();//定义flag的boolean变量,用于判断cookies是否为空 booleanflag=false;//遍历cookie数组 if(cookies.length>0&&cookies!=null){for(Cookie cookie:cookies){//获取cookie的名称 Stringname=cookie.getName();//判断名称是否是lastTime if("lastTime".equals(name)){//有该cookie不是第一次访问flag=true;//响应数据 //获取cookie的value时间 Stringvalue=cookie.getValue();System.out.println("解码前:"+value);//URL解码value=URLDecoder.decode(value,"utf-8");System.out.println("解码后:"+value);response.getWriter().write("欢迎回来,您上次访问时间为:"+value);//设置cookie的value //获取当前时间的字符串,重新设置cookie的值,重新发送cookie Datedate=new Date();SimpleDateFormattimesdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");Stringstr_time=timesdf.format(date);System.out.println("编码前:"+str_time);//URL编码str_time=URLEncoder.encode(str_time,"utf-8");System.out.println("编码后:"+str_time);cookie.setValue(str_time);//设置cookie存活时间 cookie.setMaxAge(60*60*24*30);//一个月 //加入当前cookie请求时间 response.addCookie(cookie);break;}}//如果cookies中没有时间,也就是没有访问过 if(cookies==null||cookies.length==0||flag==false){//设置cookie的value //获取当前时间的字符串,重新设置cookie的值,重新发送cookie Datedate=new Date();SimpleDateFormatsdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");Stringstr_date=sdf.format(date);System.out.println("编码前:"+str_date);//URL编码str_date=URLEncoder.encode(str_date,"utf-8");System.out.println("编码后:"+str_date);Cookiecookie=new Cookie("lastTime",str_date);//设置cookie存活时间 cookie.setMaxAge(60*60*24*30);//一个月 response.addCookie(cookie);response.getWriter().write("您好,欢迎您首次访问");}}}public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{this.doPost(request,response);}}

2.实现效果如下
启动tomcat,在浏览器里输入

http://localhost:8080/Servlet01_war_exploded/LastAccessServlet

效果如下:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:08:23

汽车制造:DeepSeek辅助设备故障预测与停机时间降低方案

摘要 在现代汽车制造业中,生产设备的稳定运行是保障生产效率、产品质量和成本控制的核心要素。然而,设备故障导致的非计划停机时间一直是困扰制造企业的痛点,不仅造成巨大的产能损失和维修成本,还会影响订单交付,损害企…

作者头像 李华
网站建设 2026/6/8 20:06:08

为什么PyTorch-CUDA镜像更适合生产环境部署?

为什么PyTorch-CUDA镜像更适合生产环境部署? 在当今AI系统快速迭代的背景下,一个常见的痛点反复浮现:实验室里跑得飞快的模型,一到生产环境就“水土不服”——依赖冲突、GPU驱动不兼容、版本错配导致推理失败……这类问题不仅拖慢…

作者头像 李华
网站建设 2026/6/9 19:51:54

如何基于 Elasticsearch 构建亿级相似图片搜索系统

摘要:在图像识别、以图搜图、图库去重等场景中,传统的关键词搜索已无法满足需求。本文将深入探讨如何利用 Elasticsearch 的向量检索能力,结合深度学习模型,打造高性能的相似图片搜索引擎。1. 引言:为什么需要“以图搜…

作者头像 李华
网站建设 2026/6/9 22:32:21

Markdown绘制流程图:展示PyTorch训练pipeline

Markdown绘制流程图:展示PyTorch训练pipeline 在深度学习项目中,一个常见的挑战是:如何让新成员快速理解整个训练流程?环境怎么配?数据从哪来?模型何时保存?部署依赖什么格式?这些问…

作者头像 李华
网站建设 2026/6/9 18:33:09

2025 MBA必备!10个AI论文平台深度测评与推荐

2025 MBA必备!10个AI论文平台深度测评与推荐 2025年MBA论文写作工具测评:为何需要一份权威榜单? 随着人工智能技术在学术领域的广泛应用,越来越多的MBA学生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的…

作者头像 李华