1. 程式人生 > 其它 >JavaWeb基礎-Cookie的簡單使用(記錄使用者上次訪問時間)

JavaWeb基礎-Cookie的簡單使用(記錄使用者上次訪問時間)

技術標籤:Java基礎cookiejavaweb

Cookie的簡單使用(記錄使用者上次訪問時間)

獲得從瀏覽器帶過來的Cookie
通過HttpServletRequest物件中的方法:
在這裡插入圖片描述
向瀏覽器回寫Cookie
通過HttpServletRequest物件中的方法:
在這裡插入圖片描述
Cookie的構造
在這裡插入圖片描述
程式碼實現記錄使用者的上次訪問時間,並且回顯本次訪問時間
工具類:

package utils;

import javax.servlet.http.Cookie;

/*
查詢指定名稱Cookie的工具類
 */
public class CookieUtils {
    public static
Cookie findCookie(Cookie[] cookies,String name) { if(cookies == null){ //瀏覽器沒有攜帶任何的Cookie return null; }else{ for(Cookie cookie:cookies){ //判斷陣列中的每個Cookie的名稱與給定名稱是否一致 if(name.equals(cookie.getName())){ //直接返回
return cookie; } } //瀏覽器帶有Cookie過來了,但是沒有指定名稱的那個Cookie return null; } } }

Servlet:

package ServletDemo;

import utils.CookieUtils;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.
servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; public class ServletDemo02 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /** * 使用者訪問Servlet * *如果是第一次訪問 * * *顯示你好,歡迎來到本網站 * * *記錄當前訪問時間,存入Cookie,回寫到瀏覽器 * *如果不是第一次訪問 * * *從Cookie中獲得上次訪問時間,顯示到頁面 * *記錄當前時間,存入到Cookie,回顯到瀏覽器 */ //判斷是否第一次訪問:從指定的Cookie的陣列中獲取指定名稱Cookie //獲得從瀏覽器帶過來的所有的Cookie Cookie[] cookies = req.getCookies(); //從陣列中查詢指定名稱的Cookie Cookie lastVisit = CookieUtils.findCookie(cookies, "lastVisit"); //判斷是否是第一次訪問 if (cookies == null) { //第一次訪問 //顯示到頁面上一段內容 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println("<h1>你好,歡迎來到本網站!</h1>"); }else{ //不是第一次訪問 //獲得Cookie中的上次訪問時間,顯示到頁面上 String value = lastVisit.getValue(); //顯示到頁面上一段內容 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println("<h1>你好,你上次的訪問時間是:"+value+"!</h1>"); } //記錄當前系統時間存入Cookie,回顯到瀏覽器 Date d = new Date(); //存入到Cookie當中 Cookie c = new Cookie("lastVisit",d.toLocaleString()); //回顯到瀏覽器 resp.addCookie(c); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }

根據網頁設定可以看到我們網頁請求頭、Cookie等引數的變化!