Servlet和Cookie統計訪問次數

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class LoginServletTest
 */
@WebServlet("/LoginServletTest")
public class CookieCounter extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	/**
	 * @throws IOException
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, 
			HttpServletResponse response) throws ServletException, IOException {
		// PrintWriter out = response.getWriter(); IOException {
		// TODO Auto-generated method stub
		// doPost(request, response);
		boolean blnFound = false;
		Cookie myCookie = null;
		Cookie[] cookies = request.getCookies();
		if (null != cookies) {
			for (Cookie cookie : cookies) {
				if (cookie.getName().equals("logincount")) {
					blnFound = true;
					myCookie = cookie;
					break;
				}
			}
		}
		if (blnFound) {
			int temp = Integer.parseInt(myCookie.getValue());
			temp++;
			response.setContentType("text/html;charset=utf8");
			request.setCharacterEncoding("utf8");
			response.getWriter().println("<p>你訪問本頁的次數是:<p>" + temp);
			myCookie.setValue(String.valueOf(temp));
			int age = 60 * 60 * 24 * 30;
			myCookie.setMaxAge(age);
			response.addCookie(myCookie);
		} else {
			int temp = 1;
			response.getWriter().println("<p>這是你第一次訪問本頁<p>");
			myCookie = new Cookie("logincount", String.valueOf(temp));
			int age = 60 * 60 * 24 * 30;
			myCookie.setMaxAge(age);
			response.addCookie(myCookie);
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
		request.setCharacterEncoding("utf-8");
		String name = request.getParameter("name");
		String passs = request.getParameter("pass");
		PrintWriter out = response.getWriter();
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>用戶登錄</TITLE></HEAD>");
		out.println("  <BODY>");
		if ("123".equals(passs)) {// 假設的合法用戶名及密碼
			out.print("<h2>用戶登錄成功</h2>");
		} else {
			out.print("<h2>用戶或密碼錯誤,登錄失敗</h2>");
		}
		out.println("  </BODY>");
		out.println("</HTML>");

	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章