欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

servlet中Cookie使用案例:显示浏览器上次访问时间

程序员文章站 2024-03-20 14:03:34
...

目录:

第一节 servlet中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 {

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException

{

        response.setContentType("text/html;charset=utf-8");



//response.setHeader(“Set-Cookie”,“name=refrigerator”);

//cookie很常用,所以定义Cookie类,所以不需要像上行设置Cookie



//1、获取Cookie数组,然后遍历它,获取lasttime

       Cookie [ ]  cs = request.getCookies();

       Cookie findC = null;

       if(cs!=null){

          for(Cookie c : cs){

              if("lastTime".equals(c.getName())){

                 findC = c;

              }

          }

       }

/*

2、判断lasttime是否为空,为空则为第一次访问,

不为空则获取lasttime  的值,向浏览器输出上次访问时间

*/

    if(findC == null){

       response.getWriter().write("您是第一次访问本网站!");

    }else{

       Long lastTime = Long.parseLong(findC.getValue());

       response.getWriter().write("您上次访问时间是:"+new Date(lastTime).toLocaleString());

    }

   

/*

3、如果是第一次访问,则向浏览器发送当前时间的cookie,

   如果不是第一次 访问,则是向浏览器发送新的lasttime。

              Cookie创建时需要传入名字和值.

*/

    Cookie c = new Cookie("lastTime",new Date().getTime()+"");

    c.setMaxAge(3600*24*30); //通知浏览器保存30天

    c.setPath(request.getContextPath());

    //c.setDomain(".baidu.com");

    response.addCookie(c);

}



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

     doGet(request, response);

}

}