servlet相关项目需求: 1. 判断是否是第一次登陆服务器 是:欢迎您,这是您首次登陆 不是:欢迎您,你上次登陆的时间是xxxx 2. 保存此次登陆的时间

1. 代码实现

package com.fy.servlet;
/**
 * 需求:
 *  1. 判断是否是第一次登陆服务器
 * 	    是:欢迎您,这是您首次登陆
 *    不是:欢迎您,你上次登陆的时间是xxxx
 * 	2. 保存此次登陆的时间
 * @author 江湖小小白
 */

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;


@WebServlet("/A")
public class LastTimeServlet extends HttpServlet {
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        //设置编码
        response.setContentType("Text/html;charset=utf-8");
        //创建Cookie[] 数组
        Cookie[] cookies = request.getCookies();
        //定义一个布尔类型的变量,设置初始值为false
        boolean b = false;
        //判断cookies中是否为空,不为空,则进入if语句,进行数据的遍历
        if(cookies != null) {
    
    
            for(Cookie cookie : cookies) {
    
    
                //判断上次的登录时间与本次的cookie中的数据是否一致,一致,则说明不是第一次登录
                if("lastTime".equals(cookie.getName())){
    
    
                    b = true;
                    //获取值,即当前时间
                    String value = cookie.getValue();
                    response.getWriter().write("欢迎回来,您上次登录的时间是:" + value);
                }
            }
        }
        //首次登录
        if (!b) {
    
    
          response.getWriter().write("欢迎您,这是您首次登录");
        }
        Cookie c = new Cookie("lastTime", getTime());
        //设置cookie的持久化存储
        c.setMaxAge(3600*24*365);
        //发送Cookie对象给客户端(当前为浏览器)
        response.addCookie(c);
    }
    //获取当前时间
    protected  String getTime() {
    
    
        Date d = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(d);
    }
}

2. 项目总览

项目总览

3. 项目成果实现

1

2

猜你喜欢

转载自blog.csdn.net/zhu_fangyuan/article/details/108541818