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>");
}
}
Servlet和Cookie統計訪問次數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.