什么是Cookie?Cookie是由W3C組織提出,最早由NetScape社區(qū)發(fā)展的一種機(jī)制。 Cookie是存儲(chǔ)于訪問(wèn)者的計(jì)算機(jī)中的變量。每當(dāng)同一臺(tái)計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí),就會(huì)發(fā)送這個(gè)cookie。 Cookie的作用就是用于解決"如何記錄客戶(hù)端的用戶(hù)信息":
Cookie實(shí)際上是一小段文本信息(上限為4kb)??蛻?hù)端請(qǐng)求服務(wù)器,如果服務(wù)器需要記錄該用戶(hù)狀態(tài),就使用response向客戶(hù)端瀏覽器頒發(fā)一個(gè)Cookie??蛻?hù)端瀏覽器可以把Cookie保存起來(lái)。當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該Cookie一同提交給服務(wù)器。服務(wù)器檢查該Cookie,以此來(lái)辨認(rèn)用戶(hù)狀態(tài)。服務(wù)還可以根據(jù)需要修改Cookie的內(nèi)容。 Cookie的屬性
獲取所有Cookiepublic static Cookie[] getCookies(HttpServletRequest request) { return request.getCookies(); } 獲取cookie很簡(jiǎn)單,直接從request中獲取即可。 根據(jù)名稱(chēng)獲取指定Cookiepublic static Cookie getCookieByName(HttpServletRequest request, String name) { if (StringUtils.isBlank(name)) { return null; } Cookie[] cookies = getCookies(request); if (null != cookies) { for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { return cookie; } } } return null; } 從所有cookie中循環(huán)判斷進(jìn)行獲取指定cookie。 添加Cookiepublic static boolean addCookie(HttpServletResponse response, String name, String value, int maxAge) { if (StringUtils.isBlank(name) || StringUtils.isBlank(value)) { return false; } Cookie cookie = new Cookie(name.trim(), value.trim()); if (maxAge <= 0) { maxAge = Integer.MAX_VALUE; } cookie.setMaxAge(maxAge); cookie.setPath("/"); response.addCookie(cookie); return true; } 這個(gè)添加很簡(jiǎn)單。 刪除Cookiepublic static boolean removeCookie(HttpServletRequest request, HttpServletResponse response, String name) { if (StringUtils.isBlank(name)) { return false; } Cookie[] cookies = getCookies(request); if (null != cookies) for (Cookie cookie : cookies) { if (name.equals(cookie.getName())) { cookie.setValue(null); cookie.setMaxAge(0); cookie.setPath("/"); response.addCookie(cookie); return true; } } } return false; } 刪除cookie,把 value設(shè)置為null,把 max-age設(shè)置為0就行了。 到這里:Java基礎(chǔ)系列(基礎(chǔ)):Java使用Cookie增刪改查操作!分享完畢了,快去試試吧! 最后
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》