1. 程式人生 > 其它 >Cookie存活時間以及Cookie儲存中文

Cookie存活時間以及Cookie儲存中文

Cookie存活時間以及Cookie儲存中文

 cookie在瀏覽器中儲存多長時間:

1.預設情況下,當瀏覽器關閉後,Cookie資料被銷燬

2.持久化儲存:

   setMaxAge(int  seconds)

     正數:將Cookie資料寫到硬碟的檔案中,持久化儲存,cookie存活時間

     負數:預設值

     零:刪除cookie訊息   

package com.example.cookie;

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(name = "CookieDemo4", value = "/CookieDemo4") public class CookieDemo4 extends HttpServlet { @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.建立Cookie物件 Cookie c1 = new Cookie("msg", "setMaxAge"); //2.設定cookie的存活時間 //c1.setMaxAge(30);//將cookie持久化到硬碟 30秒後自己刪除cookie檔案 //c1.setMaxAge(-1);//關閉瀏覽器cookie資料被銷燬 c1.setMaxAge(0);//刪除cookie訊息 //3.傳送Cookie response.addCookie(c1); } }

Cookie儲存中文:

在tomcat 8 之前 cookie不能直接儲存中文資料

  需要將中文資料轉碼,一般採用URL編碼。(%E3)

在tomcat  8 之後 cookie支援中文資料

@WebServlet(name = "CookieDemo4", value = "/CookieDemo4")
public class CookieDemo4 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.建立Cookie物件
        Cookie c1 = new Cookie("msg", "張三");
      //2.傳送Cookie
        response.addCookie(c1);

    }
}