JavaWeb小白笔记1—cookie

来源:互联网 发布:卖男生帽子的淘宝店铺 编辑:程序博客网 时间:2024/05/02 01:12

package com.bttc;

 

import java.io.IOException;

import java.io.PrintWriter;

 

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 Wellcom 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 = null;

      int visitCount=0,visit = 0;

      if(cookies!=null)

      for (int i = 0; i < cookies.length; i++) {

      cookie = cookies[i];

      if (cookie.getName().equals("visitCount")) {

            visitCount=Integer.valueOf(cookies[i].getValue());

            System.out.println(i);

      }

      if(cookie.getName().equals("v")){

           System.out.println("c  "+i);

      }

      }

      visitCount=visitCount+1;

      visit ++;

      Cookie cookie1 = new Cookie("visitCount", String.valueOf(visitCount));

      Cookie c = new Cookie("v",String.valueOf(visit));

      //cookie的有效期为1个月

       cookie1.setMaxAge(24 * 60 * 60 * 30);

       c.setMaxAge(60*60);

       response.addCookie(cookie1);

       response.addCookie(c);

      out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

      out.println("<HTML>");

      out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

      out.println("  <BODY>");

      out.print("您是第"+visitCount+"次访问本站!");

      out.println("  </BODY>");

      out.println("</HTML>");

      out.flush();

      out.close();

}

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

      doGet( request,  response);

}

}

 

第一次执行时,cookies数组中没有数据,所以执行让visitcount+1visit+1,创建两个对象并将visitcountvisit的值放到相应的位置(String格式存入),设置他们的存活时间,并把他们发送到客户端浏览器,保存在客户端计算机硬盘上。

访问时显示第一次访问,第二次执行,接收cookies数组,不为空时先找第0位置的数据的值进行判断(转为Integer)。

发送几个cookie对象,cookies数组的长度就为几。

0 0
原创粉丝点击