【Servlet】Cookie应用:显示上次访问页面时间
#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应用:显示上次访问页面时间相关推荐
- cookie ? 利用cookie实现 显示上次访问时间?
二. <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.D ...
- 利用Cookie显示上次登录时间
利用Cookie显示上次登录时间 1 新建一个web项目,选择2.5版本点击finish. 2 在src下建一个Servlet文件,输入文件名,点击finish完成. 3 在WebContent下建立 ...
- 用cookie显示上次登录时间
用cookie显示上次登录时间 一.问题 二.JAVA代码 三.HTML代码 四.效果图 一.问题 要求:用cookie保存上次登录时间,第一次登录,显示登录成功,在第二次登录时,显示上次登录时间. ...
- java cookie过期_Java中Servlet Cookie设置过期时间(expires,max-age)
Java中Servlet Cookie设置过期时间(expires,max-age) expires或者max-age指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏 ...
- Servlet Cookie处理
Servlet Cookie处理 Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. ...
- Servlet Cookie 处理
cookie是什么? Cookie是由服务器端生成,发送给User-Agent(一般指浏览器),浏览器将cookie以键值对的形式保存到某个目录下的文本文件内.下次请求该网站时就把cookie发送回服 ...
- Cookie记录用户上次访问时间
目录 一.记录上一次用户访问时间 1.1 需求 1.2 分析 1.3 代码实现 1.4 实现效果图 1.5 总结 一.记录上一次用户访问时间 1.1 需求 (1)访问一个Servlet,如果是第一次访 ...
- 需求:有一个首页,首页中有登录和注册 1. 点击注册进入注册页面。成功注册后,在页面中显示 “恭喜您,注册成功,页面内将在5秒后跳转到个人主页,点击这里立即跳转” 。进入个人主页后显示当前的时间。
1.项目所需的jar包 导包:c3p0包.dbut ils包.servlet包,c3p0依赖包以及c3p0文件配置. 创建一个数据库day0914,并创建一个表user用于数据的存储. 数据库相关的包 ...
- linux dmesg 显示可读时间格式
dmesg -T 直接用dmesg显示系统信息,很难看 [95721.670025] snapshot device recevied [read] io request, access on dev ...
最新文章
- 下列不属于android布局的是( ),Android软件工程师笔试题(全选择题)【0-1年经验】...
- windows api 枚举进程pid
- Loadrunner中socket协议中的三个关联函数
- 使用Azure轻松实现Teams App的全球合规性
- 制作双足机器人用易拉罐_小学生手工小制作用易拉罐做飞机模型的方法
- java长时间_什么导致Java中长时间的旋转和同步时间?
- TOMCAT 连接池数据库密码加密方法
- yum方式安装android_Android-x86尝鲜续 系统详细安装教程
- 关于ssm框架的整合(二) 2021.05.10
- tree命令生成目录结构
- 5.3.1 同步发生
- 智慧酒店雷达传感方案,人体存在感应技术应用,雷达探测模块
- 电商平台的系统组织架构
- 趣学Python-教孩子学编程--第三章
- html幻灯片图片切换效果代码,jquery的幻灯片图片切换效果代码分享
- 地图坐标转换-火星坐标
- WEB打印控件Lodop(V6.x)使用说明及样例
- 什么是强化学习?(贝尔曼方程)
- 根据观测时间,经纬度,求太阳高度角
- Cubby提供Dropbox 2倍推荐存储空间 各大云储存容量与价格PK
热门文章
- 新手第一课-什么是深度学习
- cmake (2)其他指令
- [答疑]-中断流程举例:在TEE侧时产生了FIQ,回到REE后为啥又产生了IRQ
- [羊城杯 2020]GMC
- java修饰符继承_Java修饰符和继承
- (73)分析 KeInitializeApc ,了解 KAPC 的初始化
- 【模拟】P1424 小鱼的航程(改进版)
- CVE-2021-29454——Smarty模板注入
- 你们应该听说过”w8ay“这个ID吧!一个喜欢造轮子的小子
- Windows事件等待学习笔记(二)—— 线程等待与唤醒