Cookie获取最后一次访问时间(浏览器第一次打开的时候是没有cookie的)

时间:2022-12-11 20:10:41
package com.itheima.demo;

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;

public class CookieDemo1 extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获取客户端保存的最后访问时间
Cookie[] cookies=request.getCookies();//获取客户端的所有cookie对象
//因为如果是第一次访问,浏览器可能没有cookie,所以要先判断下非空
for (int i = 0;cookies!=null&& i < cookies.length; i++) {
if("lastAccessTime".equals(cookies[i].getName())){//判断当前的cookie中name是否是想要的cookie
long l=Long.parseLong(cookies[i].getValue());//如果是想要的Cookie,则把Cookie中的value取出(毫秒值)
out.write("你的最后访问时间为:"+new Date(l).toLocaleString());//yyyy-MM-dd(把lang值转化为本地时间)
}
}
//第一次访问可能没有cookie,访问过之后就需要自己创建一个cookie
//创建cookie,并把信息写回到客户端cookie只能存字符串:
Cookie ck=new Cookie("lastAccessTime",System.currentTimeMillis()+"");
//把cookie写回到客户端
response.addCookie(ck);
}


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

}