Cookie存活時間以及Cookie儲存中文
阿新 • • 發佈:2022-12-10
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; importjavax.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 { @Overrideprotected 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); } }