?? cookiecounter.java
字號:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* <p>Title: servlet讀取cookie</p>
* <p>Description: 這個servlet演示怎樣創建和獲取cookie并設置cookie的期限</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: CookieCounter.java</p>
* @author 杜江
* @version 1.0
*/
//必須繼承HttpServlet類
public class CookieCounter extends HttpServlet {
private int pageCount = 0;
/**
*<br>方法說明:初始化
*<br>輸入參數:ServletConfig config 服務器配置對象
*<br>返回類型:
*/
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
/**
*<br>方法說明:實現service方法
*<br>輸入參數:HttpServletRequest req 客戶請求對象
*<br>輸入參數:HttpServletResponse res 服務器應答對象
*<br>返回類型:
*/
public void service(HttpServletRequest req, HttpServletResponse res)
throws IOException
{
boolean cookieFound = false;
Cookie thisCookie = null;
// 設置內容類型
res.setContentType("text/html; charset=GB2312");
// 調用getWriter()
PrintWriter out = res.getWriter();
// 從請求獲取coolies
Cookie[] cookies = req.getCookies();
if(cookies!=null){
for(int i=0; i < cookies.length; i++) {
thisCookie = cookies[i];
//檢查是否存在CookieCount數據
if (thisCookie.getName().equals("CookieCount")) {
cookieFound = true;
break;
}
}
}
if (cookieFound == false) {
// 創建新的Cookie并設置它的存活期
thisCookie = new Cookie("CookieCount", "1");
thisCookie.setMaxAge(60*1);
// 在response對象中加入cookie
res.addCookie(thisCookie);
}
//輸出頁面
out.println("<html><head>\n" + "<title>Cookie計數器</title></head><body>\n" +
"<center><h1>Cookie 計數器</h1></center></font>");
pageCount++;
out.println("<p>");
out.println("<font color=blue size=+1>");
out.println("<p><br><br><br>這個頁面您已經拜訪了 " + pageCount +
" 次.\n");
// 顯示客戶端詳細信息,是否存在計數器cookie
if (cookieFound) {
int cookieCount = Integer.parseInt(thisCookie.getValue());
cookieCount++;
// 設置cookie的新值, 加到相應對象中
thisCookie.setValue(String.valueOf(cookieCount));
thisCookie.setMaxAge(10);
res.addCookie(thisCookie);
out.println("<p>這是你近10秒內第 " +
thisCookie.getValue() +
" 次拜訪這一頁\n");
} else {
out.println("<p>你在近10秒內沒有拜訪過此頁或者你的瀏覽器不支持cookie "+
"如果你的瀏覽器支持cookie,請確認是否打開了!\n");
}
out.println("</body></html>");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -