cookies學習常用API筆記
阿新 • • 發佈:2018-04-18
cookies學習常用API筆記Cook
60*60)
Cookie.setPath(“/day0X”);
Httpwatch觀察
Cookie.setMaxAge(0)刪除同名Cookie 註意,刪除cookie時,path必須一致,否則不會刪除
javax.servlet.http.Cookie類用於創建一個Cookie,response接口也中定義了一個addCookie方法,它用於在其響應頭中增加一個相應的Set-Cookie頭字段。 同樣,request接口中也定義了一個getCookies方法,它用於獲取客戶端提交的Cookie。Cookie類的方法:
- public Cookie(String name,String value)
- setValue與getValue方法
- setMaxAge與getMaxAge方法
- setPath與getPath方法
- getName方法
顯示用戶上次訪問時間
Cookie.setMaxAge(724
Cookie.setPath(“/day0X”);
Httpwatch觀察
Cookie.setMaxAge(0)刪除同名Cookie
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Demo1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { /* //服務端產生Cookie Cookie cookie = new Cookie("username","haha"); //設置Cookie存活時間 cookie.setMaxAge(1*24*60*60); //服務端將Cookie寫到客戶端暫存 response.addCookie(cookie); */ //取得客戶端所有的Cookie Cookie[] cookies = request.getCookies(); Cookie usernameCookie = null; if(cookies!=null){ for(Cookie c : cookies){ if(c.getName().equals("username")){ usernameCookie = c; break; } } //如果找到了Cookie if(usernameCookie!=null){ System.out.println("Cookie的名字:" + usernameCookie.getName()); System.out.println("Cookie的值:" + usernameCookie.getValue()); System.out.println("Cookie的生命:" + usernameCookie.getMaxAge()); System.out.println("Cookie的路徑:" + usernameCookie.getPath()); } } } }
Cookie細節
一個Cookie只能標識一種信息,它至少含有一個標識該信息的名稱(NAME)和設置值(VALUE)。
一個WEB站點可以給一個WEB瀏覽器發送多個Cookie,一個WEB瀏覽器也可以存儲多個WEB站點提供的Cookie。
瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個Cookie,每個Cookie的大小限制為4KB。
如果創建了一個cookie,並將他發送到瀏覽器,默認情況下它是一個會話級別的cookie(即存儲在瀏覽器的內存中),用戶退出瀏覽器之後即被刪除。若希望瀏覽器將該cookie存儲在磁盤上,則需要使用maxAge,並給出一個以秒為單位的時間。將最大時效設為0則是命令瀏覽器刪除該cookie。
cookies學習常用API筆記