news 2026/4/16 10:38:26

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/4/16 9:08:07

大数据分析与应用学习有感:从数据碎片到价值洞察

在数字化浪潮席卷全球的当下,“大数据”早已不是陌生的概念,它渗透在电商推荐、精准医疗、城市治理等每一个生活场景中。带着对“数据如何创造价值”的好奇,我开启了大数据分析与应用的学习之旅。这段旅程不仅让我掌握了专业的分析工具与方法…

作者头像 李华
网站建设 2026/4/16 9:22:16

使用PyTorch镜像快速启动NLP文本生成任务

使用PyTorch镜像快速启动NLP文本生成任务 在构建智能写作助手、对话系统或自动摘要工具时,开发者最头疼的往往不是模型设计,而是环境配置——明明本地跑通的代码,换一台机器就报出 libcudart.so not found 这类令人抓狂的错误。更别说团队协作…

作者头像 李华
网站建设 2026/4/16 9:26:04

Git工作流中如何管理PyTorch项目的不同实验分支

Git工作流中如何管理PyTorch项目的不同实验分支 在深度学习项目开发中,最让人头疼的往往不是模型设计本身,而是“为什么这个实验在我机器上跑得好好的,换台设备就出问题?”——环境差异、依赖冲突、代码混乱……这些问题每天都在消…

作者头像 李华
网站建设 2026/4/15 4:30:33

大模型Agent开发全攻略:架构、记忆、规划与工具设计!

Agent的概念和研究课题 挺尴尬的,在这3篇论文里,都没有用严谨而直白的话来定义何为Agent,什么样的一个系统或者模式,能被称为Agent,而是很直接地开始去讲Agent这一个话题,包括他有关的研究工作。 通过这几…

作者头像 李华
网站建设 2026/4/11 21:44:13

GitHub Star数破万的PyTorch项目都用了哪些环境配置?

GitHub Star数破万的PyTorch项目都用了哪些环境配置? 在如今深度学习项目动辄上千依赖、环境配置“一步出错全盘崩溃”的背景下,你是否曾遇到过这样的场景:从GitHub克隆了一个高Star的PyTorch项目,兴冲冲地准备复现实验结果&#…

作者头像 李华
网站建设 2026/4/15 9:29:09

外文文献检索网站使用指南:高效查找与获取专业学术资源的方法

生成式人工智能的浪潮正引发各领域的颠覆性变革,在学术研究这一知识生产的前沿阵地,其影响尤为显著。文献检索作为科研工作的基石,在AI技术的赋能下各大学术数据库已实现智能化升级。小编特别策划"AI科研导航"系列专题,…

作者头像 李华