更新時間:2021-11-11 08:54:06 來源:動力節(jié)點 瀏覽1381次
在cookie的API中沒有提供直接將cookie刪除的方法, 可以通過別的方式間接刪除cookie
代碼示例:刪除名稱為cart的cookie: 可以向瀏覽器再發(fā)送一個同名的cookie(即名稱也叫cart),并設(shè)置cookie的最大生存時間為零,由于瀏覽器是根據(jù)cookie的名字來區(qū)分cookie,如果前后兩次向瀏覽器發(fā)送同名的cookie,后發(fā)送的cookie會覆蓋之前發(fā)送的cookie,而后發(fā)送的cookie也設(shè)置了生存時間為零,因此瀏覽器收到后也會立即刪除!
//創(chuàng)建一個名稱為cart的cookie
Cookie c = new Cookie( "cart" , "" );
//設(shè)置cookie的最大生存時間為零
c.setMaxAge( 0 );
//將cookie添加到響應(yīng)中,發(fā)送給瀏覽器
response.addCookie( c );
cookie.getName() //獲取cookie的名字
cookie.getValue() //獲取cookie中保存的值
cookie.setValue() //設(shè)置/修改cookie中保存的值(沒有setName方法,因為cookie的名字無法修改)
cookie.setMaxAge() //設(shè)置cookie的最大生存時間
如果不設(shè)置該方法,cookie默認是會話級別的cookie,即cookie默認生存時間是一次會話。當瀏覽器關(guān)閉,會話結(jié)束時,cookie就會被銷毀。(cookie默認會保存在瀏覽器的內(nèi)存中,當瀏覽器關(guān)閉,內(nèi)存會釋放,cookie也會隨著內(nèi)存的釋放而銷毀)
如果設(shè)置了該方法, cookie將不會保存到瀏覽器的內(nèi)存中,而是以文件形式保存到瀏覽器的臨時文件夾中,也就是硬盤上,這樣即使關(guān)閉瀏覽器,瀏覽器內(nèi)存會釋放,保存到硬盤上的cookie文件也不會銷毀,再打開瀏覽器,還可以獲取硬盤上保存的cookie。
//2.創(chuàng)建一個Cookie對象, 將商品信息保存到cookie中
Cookie cookie = new Cookie( "cart", prodName );
//設(shè)置cookie的最大生存時間, 單位:秒
cookie.setMaxAge( 60*60*24*30 );
//3.將cookie添加到響應(yīng)中, 發(fā)送給瀏覽器保存
response.addCookie( cookie );
如果您想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容豐富,由淺到深,適合初學(xué)者學(xué)習(xí),希望對大家能夠有所幫助。