javatServlet中的cookie設置

cookie: 

    服務器將一些信息存儲在瀏覽器(本地),當用戶再次打開網頁時,會自動填充該信息。當瀏覽器再次發送請求時,會將存儲的信息通過請求頭的方式發送給服務器端,不需要用戶每次都填充某些內容。cookie中理論上來講,最大存儲4KB內容。

cookie默認的有效時間爲一次會話。可以通過代碼設置cookie的有效時間。

一次會話:一次會話,前端發起請求-->服務端返回信息-->... 直到瀏覽器關閉(或者服務端關閉)。

創建cookie的代碼如下:

package com.xalo.cookie;

import java.io.IOException;

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;
@WebServlet("/cookie")
public class CookieServlet extends HttpServlet {
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//創建一個cookie
		Cookie cookie = new Cookie("name", "大黃");
		//將創建的cookie響應至前端
		resp.addCookie(cookie);

	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	
}

與cookie相關的java代碼如下:

                //設置cookie的最大的有效時間
		cookie.setMaxAge(30*24*60*60);//單位秒
		
		 //設置cookie的有效路徑,當請求url爲該路徑時,纔會在請求頭中添加該cookie
		cookie.setPath(req.getContextPath()/*+"/cookie"*/);
		
		//設置服務器IP,只有請求url中IP是該IP時,(客戶端)纔會發送cookie
		cookie.setDomain("lockhost");
		
		//設置cookie的解釋
		cookie.setComment("用戶名");
		
		//將該cookie中的值設置爲null
		cookie.setValue(null);
		
		//將cookie添加到響應中
		resp.addCookie(cookie);
    


     將cookie返回給前端網頁後,當前端再次發起該請求,如果本地cookie還有效,會在請求頭中,將該cookie信息發送到服務端。




發佈了25 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章