Servlet案例6:显示用户的上次访问时间

这里是cookie的简单应用

告诉用户您的上次访问时间是:xxxx-xx-xx xx:xx:xx

思路:

第一次访问该网站时候,记录当前访问时间(new Date())

把当前时间以cookie的形式写给客户端(response.addCookie)

第二次访问时候,获取客户端携带的相应的cookie,并且显示给用户

覆盖上次访问时间

代码实现:

package cookie;

import java.io.IOException;
import java.text.SimpleDateFormat;
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;

public class LastAccessTimeServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获得当前时间,并格式化
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String currentTime = format.format(date);
        // 创建cookie,记录最新访问时间
        Cookie cookie = new Cookie("lastAccessTime", currentTime);
        // cookie保存时间24小时
        cookie.setMaxAge(60 * 60 * 24);
        // 保存cookie
        response.addCookie(cookie);

        // 获得客户端携带的cookie
        String lastAccessTime = null;
        Cookie[] cookies = request.getCookies();
        if(cookies!=null){
            for(Cookie coo : cookies){
                if("lastAccessTime".equals(coo.getName())){
                    lastAccessTime = coo.getValue();
                }
            }
        }
        response.setContentType("text/html;charset=UTF-8");
        if(lastAccessTime==null){
            response.getWriter().write("您是第一次访问");
        }else{
            response.getWriter().write("您上次的访问的时间是:"+lastAccessTime);
        }
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

注意web.xml配置

效果:

第一次访问:

第二次访问(刷新):

完成

原文地址:https://www.cnblogs.com/xuyiqing/p/8414734.html

时间: 2024-10-01 21:55:29

Servlet案例6:显示用户的上次访问时间的相关文章

Servlet—Cookie(显示用户上次访问时间、显示商品浏览历史)

1 . 什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 1.1 会话过程中要解决的一些问题? 每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据. 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户购买的商品为用户结帐. 思考:用户购买的商品保存在r

通过servlet使用Cookie获取用户上次访问时间

解决tomcat使用Cookie中文乱码问题,javaWeb新手 1 public class CookieTest extends HttpServlet { 2 3 4 public void doGet(HttpServletRequest request, HttpServletResponse response) 5 throws ServletException, IOException { 6 7 String currentDate = mCurrentDate(); 8 Str

JavaWeb案例:上次访问时间 Cookie技术

1 package cn.itcast.access; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.annotation.WebServlet; 5 import javax.servlet.http.Cookie; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import

Servlet案例1:用户登录

数据库准备: CREATE DATABASE web; USE web; CREATE TABLE users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(64), PASSWORD VARCHAR(64), email VARCHAR(64) ); INSERT INTO users (username,PASSWORD,email) VALUES("tom","123","tom@qq.co

cookies 显示用户上次访问的时间 学习笔记

Cookie.setMaxAge(72460*60) Cookie.setPath("/day0X"); Httpwatch观察 Cookie.setMaxAge(0)删除同名Cookie import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.

javaWeb 使用cookie显示上次访问网站时间

package de.bvb.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.enterprise.inject.ResolutionException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.ht

【会话技术】Cookie技术 案例:访问时间

创建时间:6.30 代码: 1 package cookie; 2 3 import java.io.IOException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 import javax.servlet.ServletException; 8 import javax.servlet.http.Cookie; 9 import javax.servlet.http.HttpServlet; 10 i

C# 读取文件的修改时间、访问时间、创建时间

C# 获取文件的各个时间如下: 表2<ccid_nobr> 属性 功能和用途 Attributes 返回和文件相关的属性值,运用了FileAttributes枚举类型值 CreationTime 返回文件的创建时间 Exists 检查文件是否存在于给定的目录中 Extension 返回文件的扩展名 LastAccessTime 返回文件的上次访问时间 FullName 返回文件的绝对路径 LastWriteTime 返回文件的上次写操作时间 Name 返回给定文件的文件名 Delete() 删

PHP获得文件创建、修改、访问时间 filectime() filemtime() fileatime()

转载博客 零度_PHP的博客   http://blog.sina.com.cn/s/blog_8edc37a801016hk1.html PHP获得文件创建.修改.访问时间 PHP filectime() 函数 定义和用法 filectime() 函数返回指定文件的上次 inode 修改时间. 该函数返回文件上次 inode 被修改的时间.如果出错则返回 false.时间以 Unix 时间戳的方式返回. 语法 fileatime(filename) filename 必需.规定要检查的文件.