回话技术-Cookie-记录上一次访问时间

 

 效果:

第一次访问:

 

 再次访问:

 

 

 

<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Cookie</title>
</head>
<body>
<%
    //设置响应的消息体的数据格式以及编码
    response.setContentType("text/html;charset=utf-8");
    //1.获取所以的Cookie
    Cookie[] cookies = request.getCookies();
    //没有cookies为lastTime
    boolean flag = false;
    //2.遍历cookies数组
    if (cookies != null && cookies.length > 0) {
        for (Cookie cookie : cookies) {
            //3.获取cookies的名称
            String name = cookie.getName();
            //4.判断名称是否是:lastTime
            if ("lastTime".equals(name)) {
                //有该Cookie名称,不是第一次访问
                flag = true;
                //设置Cookie的value
                //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie
                Date date = new Date();
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
                String str_date = simpleDateFormat.format(date);
                //url编码
                str_date = URLEncoder.encode(str_date, "utf-8");

                cookie.setValue(str_date);
                //设置cookie的存活时间,一个月
                cookie.setMaxAge(60 * 60 * 24 * 30);
                response.addCookie(cookie);
                //响应数据
                //获取Cookie的value,时间
                String value = cookie.getValue();
                //url解码
                value = URLDecoder.decode(value, "utf-8");
%>

<h1>欢迎回来,您上次访问的时间为:<%=value%>
</h1>
<%

                break;
            }
        }
    }
    //没有,第一次访问
    if (cookies == null || cookies.length == 0 || flag == false) {
        //设置Cookie的value
        //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        String str_date = simpleDateFormat.format(date);
        str_date = URLEncoder.encode(str_date, "utf-8");
        Cookie cookie = new Cookie("lastTime", str_date);
        cookie.setMaxAge(60 * 60 * 24 * 30);
        response.addCookie(cookie);
%>
<h1>欢迎您首次访问!</h1>
<%
    }
%>

</body>
</html>

 





posted @ 2019-11-05 09:54  jackdu  阅读(221)  评论(0编辑  收藏  举报