Servlet中用Cookie记录访问次数实例:

本博客介绍了一个Servlet实例,展示了如何通过Cookie追踪用户的登录次数,并在页面上动态显示登录信息。通过GET请求获取Cookie信息,对于已登录用户增加登录次数并更新Cookie;对于首次访问的用户设置初始登录次数为1。

package com.csdn.servlet;

 

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;

importjavax.servlet.http.HttpServletResponse;

 

public class TestS extends HttpServlet {

 

    /**

     * Constructor of theobject.

     */

    public TestS() {

       super();

    }

 

    /**

     * Destruction of the servlet.<br>

     */

    public void destroy() {

       super.destroy(); // Justputs "destroy" string in log

       // Put your code here

    }

 

    /**

     * The doGet method of the servlet.<br>

     *

     * This method is calledwhen a form has its tag value method equals to get.

     *

     * @param request

     *            the request send by the client tothe server

     * @param response

     *            the response send by the server tothe client

     * @throws ServletException

     *             if an error occurred

     * @throws IOException

     *             if an error occurred

     */

    public void doGet(HttpServletRequest request, HttpServletResponseresponse)

           throws ServletException, IOException {

 

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

       PrintWriter out = response.getWriter();

       out

              .println("<!DOCTYPEHTML PUBLIC \"-//W3C//DTDHTML 4.01 Transitional//EN\">");

       out.println("<HTML>");

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

       out.println("  <BODY>");

       Cookie cookie = null;

       Cookie[] cookies = request.getCookies();

       if (null != cookies) {

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

              cookie = cookies[i];

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

                  int count = Integer.parseInt(cookie.getValue()) + 1;

                  cookie.setValue(count + "");

                  response.addCookie(cookie);

                  out.println("你是第" + count + "次登录");

                  break;

              }

 

           }

       } else {

           cookie = new Cookie("loginCount", "1");

           cookie.setMaxAge(60 * 60 * 24);

           response.addCookie(cookie);

           out.println("你好!你是第1次登录我们的网站");

 

       }

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

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

       out.flush();

       out.close();

    }

 

    /**

     * The doPost method of theservlet. <br>

     *

     * This method is calledwhen a form has its tag value method equals to

     * post.

     *

     * @param request

     *            the request send by the client tothe server

     * @param response

     *            the response send by the server tothe client

     * @throws ServletException

     *             if an error occurred

     * @throws IOException

     *             if an error occurred

     */

    public void doPost(HttpServletRequest request, HttpServletResponseresponse)

           throws ServletException, IOException {

 

       response.setContentType("text/html");

       PrintWriter out = response.getWriter();

       out

              .println("<!DOCTYPEHTML PUBLIC \"-//W3C//DTDHTML 4.01 Transitional//EN\">");

       out.println("<HTML>");

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

       out.println("  <BODY>");

       out.print("    This is ");

       out.print(this.getClass());

       out.println(", using thePOST method");

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

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

       out.flush();

       out.close();

    }

 

    /**

     * Initialization of the servlet.<br>

     *

     * @throws ServletException

     *             if an error occurs

     */

    public void init() throws ServletException {

       // Put your code here

    }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值