关于cookie的小功能的实现

需求

判断用户是否是第一次访问服务器,如果是第一次访问服务器,返回欢迎*****如果不是第一次登入

访问服务器,返回其第一次登入的时间

功能实现tomcat上的资源类

@WebServlet("/CookieTest")
public class CookieTest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        this.doPost(req ,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置回应编码
        resp.setContentType("text/html;charset=utf-8");
        //获取cookie的值
        Cookie[] cookies = req.getCookies();
       boolean dd = false;
        if( cookies != null && cookies.length > 0 ){
            for (Cookie  c: cookies
                 ) {
                String name = c.getName();
                //判断是否是用户是否是第一次访问
                if("listTime".equals(name)){
                     dd = true ;
                    //获取当前的时间
                    Date date = new Date();
                    SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");

                    String format = sim.format(date);
                    //设置时间的一个编码值
                    String encode = URLEncoder.encode(format, "utf-8");
                    //把时间放入到cookie对象的值里面
                    c.setValue(encode);
                      resp.addCookie(c);

                    //进行回应你是你上一次访问的时间
                    String value = c.getValue();
                    PrintWriter writer = resp.getWriter();
                    //进行解码
                    String decode = URLDecoder.decode(value, "utf-8");
                    writer.write("欢迎你回来你上一次访问的时间是"+decode);

                     break;

            }



            }
        }
        //当用户是第一次访问时
   if( cookies == null || cookies.length == 0 || dd == false ){

           //获取第一次访问的时间
            Date date = new Date();
            SimpleDateFormat sim = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
            String format = sim.format(date);
            //设置编码值
            String encode = URLEncoder.encode(format, "utf-8");

            Cookie cookie = new Cookie("listTime", encode);
                 resp.addCookie(cookie);

            PrintWriter writer = resp.getWriter();
                  writer.write("你好欢迎第一次访问");


        }

    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值