⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cookiecounter.java

📁 精通java核心技术》随书源代码
💻 JAVA
字号:
package test.cookie;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CookieCounter extends HttpServlet {
   public void init(ServletConfig config) throws ServletException {
      super.init(config);
   }

   public void service(HttpServletRequest request, HttpServletResponse response) throws
       IOException {
      boolean cookieFound = false;
      Cookie thisCookie = null;
      response.setContentType("text/html;charset=gb2312;");
      PrintWriter out = response.getWriter();

      Cookie[] cookies = request.getCookies();
      if (cookies!=null){
         for (int i = 0; i < cookies.length; i++) {
            thisCookie = cookies[0];
            if (thisCookie.getName().equals("CookieCount")) {
               cookieFound = true;
               break;
            }
         }
      }


      if (cookieFound == false) {
         thisCookie = new Cookie("CookieCount", "1");
         thisCookie.setMaxAge(10);
         response.addCookie(thisCookie);
      }

      out.println("<html><head>\n" +
                  "<title>阅微草堂</title>\n" +
                  "</head>\n" +
                  "<body><p><font color=red>" +
                  "<center><h3>阅微草堂</h3></center></font>");
      out.println("<p>欢迎来到阅微草堂!</p>");

      if (cookieFound) {
         int cookieCount = Integer.parseInt(thisCookie.getValue());
         cookieCount++;
         thisCookie.setValue(String.valueOf(cookieCount));
         thisCookie.setMaxAge(10);
         response.addCookie(thisCookie);

         out.println("<p>这是您在近" + 10 * (Integer.parseInt((thisCookie.getValue()))-1) + "秒钟内第 " +
                     thisCookie.getValue() +
                     " 次光临寒舍!</p>");

      }
      else {
         out.println(
             "<p>您至少已经10秒钟没有光临寒舍了!</p>");
      }
      out.println("</body></html>");
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -