当用户访问网站时,可以获取到上次访问的时间

当用户访问网站时,可以获取到上次访问的时间

package cookie;

import java.io.IOException;
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 {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        //1.获取本次访问时间
        String dateStr1 = new Date().toString();
        //2.将本次访问时间通过cookie发送给浏览器保存
        response.setHeader("Set-Cookie", dateStr1);
        
        //>>创建Cookie对象
        Cookie cookie=new Cookie("time", dateStr1);
        //>>设置cookie的最大存活时间(单位是秒)
        cookie.setMaxAge(3600*24);
        //>>设置cookie的path为当前web应用的虚拟路径
        cookie.setPath(request.getContextPath()+"/");
        //>>将cookie添加到response中,发送给浏览器保存
        response.addCookie(cookie);
        
        
        //3.获取上一次访问的时间
        //>>获取请求中的所有cookie(对象组成的数组)
        Cookie[]cs=request.getCookies();
        //>>遍历所有cookie找出名称为time的cookie,获取上次访问时间
        String dateStr2=null;

        if(cs!=null)
        {
            for (Cookie c : cs) {
                if("time".equals(c.getName()))
                {
                    dateStr2=c.getValue();
                }
            }
        }
        if(dateStr2!=null)
        {
            //4.将上次访问时间发送给浏览器并显示在网页中
            response.getWriter().write("您上次访问时间为:"+dateStr2);
        }else{
            //5.没有上次访问时间,则响应第一次访问
            response.getWriter().write("您是第一次访问本网站");
        }
    }

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

}
package 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 CookieRemoved extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //删除名称为time,path为当前web应用虚拟路径的cookie
        //1.创建一个名称为time的cookie
        Cookie cookie=new Cookie("time","");
        //2.设置cookie的path为当前web应用的虚拟路径
        cookie.setPath(request.getContextPath()+"/");
        //3.设置cookie的存活时间为0
        cookie.setMaxAge(0);
        //4.将cookie发送给浏览器
        response.addCookie(cookie);
        response.getWriter().write("Cookie delete Success");
    }

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

}

运行结果:

您是第一次访问本网站
第一次访问

您上次访问时间为:Tue Aug 21 00:04:16 CST 2018
第二次访问

您上次访问时间为:Tue Aug 21 00:07:13 CST 2018
第三次访问

Cookie delete Success
删除cookie

您是第一次访问本网站
再次访问

您上次访问时间为:Tue Aug 21 00:18:23 CST 2018
再次访问

你可能感兴趣的:(当用户访问网站时,可以获取到上次访问的时间)