所謂Cookie也就是解決,同一用戶不同請求之間的數據共享問題使用了重定向,會發現瀏覽器發起的信息無法得到,也就是發送的不同請求的數據共享問題,為了解決此問題,引入了Cookie,存儲在瀏覽器中,Cookie也是Session的基礎,每一個瀏覽器中的Cookie會對應一個服務器中的session
Cookie c = new Cookie(String name, String value); //創建Cookie對象,一個Cookie對象只能存儲一條信息
resp.addCookie(c); //響應Cookie信息給瀏覽器
c.setMaxAge(); //設置Cookie的存活時間,括號里面是秒,不設置默認是瀏覽器運行期間。
c.setPath(路徑); //設置該Cookie對象的有效路徑,不設置默認是所有路徑都會帶著該Cookie
Cookie[] cks = req.getCookies(); //獲取Cookie信息,默認帶一個JSESSIONID
cks[0].getName(); //獲取Cookie的name值
cks[0].getValue(); //獲取Cookie的value值
package com.zhiying.servlet;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;
import java.io.IOException;@WebServlet("/a")
public class CookieDemo1 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// Cookie由服務器創建,保存在瀏覽器,首先從瀏覽器get到CookiesCookie[] cookies = req.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {System.out.println(cookie.getName() + ":" + cookie.getValue());}} else {System.out.println("這是你第一次訪問該網站");}Cookie cookie = new Cookie("username", "root");resp.addCookie(cookie);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}?
如果是第一次訪問會輸出,這是你第一次訪問該網站。如果不是第一次訪問,他會根據SESSIONID進行判斷
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态