1. 程式人生 > >JavaWeb之Cookie詳解

JavaWeb之Cookie詳解

1 package gac.xdp.cookie; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util.Date; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.Cookie; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11
12 /** 13 * @author gacl 14 * cookie例項:獲取使用者上一次訪問的時間 15 */ 16 public class CookieDemo01 extends HttpServlet { 17 18 public void doGet(HttpServletRequest request, HttpServletResponse response) 19 throws ServletException, IOException { 20 //設定伺服器端以UTF-8編碼進行輸出 21 response.setCharacterEncoding("UTF-8"); 22
//設定瀏覽器以UTF-8編碼進行接收,解決中文亂碼問題 23 response.setContentType("text/html;charset=UTF-8"); 24 PrintWriter out = response.getWriter(); 25 //獲取瀏覽器訪問訪問伺服器時傳遞過來的cookie陣列 26 Cookie[] cookies = request.getCookies(); 27 //如果使用者是第一次訪問,那麼得到的cookies將是null 28 if (cookies!=null
) { 29 out.write("您上次訪問的時間是:"); 30 for (int i = 0; i < cookies.length; i++) { 31 Cookie cookie = cookies[i]; 32 if (cookie.getName().equals("lastAccessTime")) { 33 Long lastAccessTime =Long.parseLong(cookie.getValue()); 34 Date date = new Date(lastAccessTime); 35 out.write(date.toLocaleString()); 36 } 37 } 38 }else { 39 out.write("這是您第一次訪問本站!"); 40 } 41 42 //使用者訪問過之後重新設定使用者的訪問時間,儲存到cookie中,然後傳送到客戶端瀏覽器 43 Cookie cookie = new Cookie("lastAccessTime", System.currentTimeMillis()+"");//建立一個cookie,cookie的名字是lastAccessTime 44 //將cookie物件新增到response物件中,這樣伺服器在輸出response物件中的內容時就會把cookie也輸出到客戶端瀏覽器 45 response.addCookie(cookie); 46 } 47 48 public void doPost(HttpServletRequest request, HttpServletResponse response) 49 throws ServletException, IOException { 50 doGet(request, response); 51 } 52 53 }