#Q题目

要求:

显示上次访问页面时间,并添加清除Cookie功能

如下图:

清除Cookie


#A 代码

实现Cookie显示上次访问时间

package com.tcb.cookie;import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/***说明:*1.该方式将时间直接以long类型存进Cookie*2.从Cookie中取出值后,需要先做日期格式化,才能展示**优点:避免某些电脑浏览器因为Cookie值存储长短限制不能显示上次访问时间**比如:“2017-05-04 20:33:22”,日期转为该格式后,不能存进Cookie中,因为Cookie长度限制*     但直接以--时间戳(long类型)--的方式,可以直接存进Cookie*/
public class CookieServlet01 extends HttpServlet {private static final long serialVersionUID = 1L;public CookieServlet01() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//编码格式response.setContentType("text/html;charset=utf-8");PrintWriter writer=response.getWriter();writer.write("上次访问时间:");Cookie[] cookies=request.getCookies();if(cookies!=null){//遍历cookies,取出lastAccessTime这个cookiefor (int i = 0; i < cookies.length; i++) {Cookie c=cookies[i];if("lastAccessTime".equals(c.getName())){//取值上次访问时间,并显示出来String time=c.getValue();time=new Date(Long.parseLong(time)).toLocaleString();writer.write(String.valueOf(time));}}}writer.write("<a href="+request.getContextPath()+"/ClearCookieServlet>清除Cookie</a>");//获取当前时间,并存储到Cookie中Long currentTime=System.currentTimeMillis();Cookie cookie=new Cookie("lastAccessTime", currentTime.toString());cookie.setMaxAge(5*60);//设置Cookie有效时间,5min内关闭再打开浏览器Cookie会一直存在response.addCookie(cookie);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}

清除Cookie

package com.tcb.cookie;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 说明:*      清楚Cookie*/
public class ClearCookieServlet extends HttpServlet {private static final long serialVersionUID = 1L;public ClearCookieServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//清除cookie//清除cookie时,完全没必要先将cookie遍历出来,再去清除cookie,尽管下面的方法可以实现清除cookie//我们可以根据cookie的特性,名字相同的cookie,后面设置的值会覆盖前面的值/*Cookie[] cookies=request.getCookies();if(cookies!=null){for (Cookie cookie : cookies) {if("lastAccessTime".equals(cookie.getName())){cookie.setMaxAge(0);response.addCookie(cookie);}}}*///便捷做法Cookie cookie=new Cookie("lastAccessTime", "");cookie.setMaxAge(0);response.addCookie(cookie);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

【Servlet】Cookie应用:显示上次访问页面时间相关推荐

  1. cookie ? 利用cookie实现 显示上次访问时间?

    二. <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.D ...

  2. 利用Cookie显示上次登录时间

    利用Cookie显示上次登录时间 1 新建一个web项目,选择2.5版本点击finish. 2 在src下建一个Servlet文件,输入文件名,点击finish完成. 3 在WebContent下建立 ...

  3. 用cookie显示上次登录时间

    用cookie显示上次登录时间 一.问题 二.JAVA代码 三.HTML代码 四.效果图 一.问题 要求:用cookie保存上次登录时间,第一次登录,显示登录成功,在第二次登录时,显示上次登录时间. ...

  4. java cookie过期_Java中Servlet Cookie设置过期时间(expires,max-age)

    Java中Servlet Cookie设置过期时间(expires,max-age) expires或者max-age指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏 ...

  5. Servlet Cookie处理

    Servlet Cookie处理 Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. ...

  6. Servlet Cookie 处理

    cookie是什么? Cookie是由服务器端生成,发送给User-Agent(一般指浏览器),浏览器将cookie以键值对的形式保存到某个目录下的文本文件内.下次请求该网站时就把cookie发送回服 ...

  7. Cookie记录用户上次访问时间

    目录 一.记录上一次用户访问时间 1.1 需求 1.2 分析 1.3 代码实现 1.4 实现效果图 1.5 总结 一.记录上一次用户访问时间 1.1 需求 (1)访问一个Servlet,如果是第一次访 ...

  8. 需求:有一个首页,首页中有登录和注册 1. 点击注册进入注册页面。成功注册后,在页面中显示 “恭喜您,注册成功,页面内将在5秒后跳转到个人主页,点击这里立即跳转” 。进入个人主页后显示当前的时间。

    1.项目所需的jar包 导包:c3p0包.dbut ils包.servlet包,c3p0依赖包以及c3p0文件配置. 创建一个数据库day0914,并创建一个表user用于数据的存储. 数据库相关的包 ...

  9. linux dmesg 显示可读时间格式

    dmesg -T 直接用dmesg显示系统信息,很难看 [95721.670025] snapshot device recevied [read] io request, access on dev ...

最新文章

  1. 下列不属于android布局的是( ),Android软件工程师笔试题(全选择题)【0-1年经验】...
  2. windows api 枚举进程pid
  3. Loadrunner中socket协议中的三个关联函数
  4. 使用Azure轻松实现Teams App的全球合规性
  5. 制作双足机器人用易拉罐_小学生手工小制作用易拉罐做飞机模型的方法
  6. java长时间_什么导致Java中长时间的旋转和同步时间?
  7. TOMCAT 连接池数据库密码加密方法
  8. yum方式安装android_Android-x86尝鲜续 系统详细安装教程
  9. 关于ssm框架的整合(二) 2021.05.10
  10. tree命令生成目录结构
  11. 5.3.1 同步发生
  12. 智慧酒店雷达传感方案,人体存在感应技术应用,雷达探测模块
  13. 电商平台的系统组织架构
  14. 趣学Python-教孩子学编程--第三章
  15. html幻灯片图片切换效果代码,jquery的幻灯片图片切换效果代码分享
  16. 地图坐标转换-火星坐标
  17. WEB打印控件Lodop(V6.x)使用说明及样例
  18. 什么是强化学习?(贝尔曼方程)
  19. 根据观测时间,经纬度,求太阳高度角
  20. Cubby提供Dropbox 2倍推荐存储空间 各大云储存容量与价格PK

热门文章

  1. 新手第一课-什么是深度学习
  2. cmake (2)其他指令
  3. [答疑]-中断流程举例:在TEE侧时产生了FIQ,回到REE后为啥又产生了IRQ
  4. [羊城杯 2020]GMC
  5. java修饰符继承_Java修饰符和继承
  6. (73)分析 KeInitializeApc ,了解 KAPC 的初始化
  7. 【模拟】P1424 小鱼的航程(改进版)
  8. CVE-2021-29454——Smarty模板注入
  9. 你们应该听说过”w8ay“这个ID吧!一个喜欢造轮子的小子
  10. Windows事件等待学习笔记(二)—— 线程等待与唤醒