什么是Cookie?Cookie是由W3C組織提出,最早由NetScape社區(qū)發(fā)展的一種機(jī)制。 Cookie是存儲于訪問者的計(jì)算機(jī)中的變量。每當(dāng)同一臺計(jì)算機(jī)通過瀏覽器請求某個頁面時,就會發(fā)送這個cookie。 Cookie的作用就是用于解決"如何記錄客戶端的用戶信息":
Cookie實(shí)際上是一小段文本信息(上限為4kb)。客戶端請求服務(wù)器,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個Cookie??蛻舳藶g覽器可以把Cookie保存起來。當(dāng)瀏覽器再請求該網(wǎng)站時,瀏覽器把請求的網(wǎng)址連同該Cookie一同提交給服務(wù)器。服務(wù)器檢查該Cookie,以此來辨認(rèn)用戶狀態(tài)。服務(wù)還可以根據(jù)需要修改Cookie的內(nèi)容。 Cookie的屬性
獲取所有Cookiepublic static Cookie[] getCookies(HttpServletRequest request) {
return request.getCookies();
}獲取cookie很簡單,直接從request中獲取即可。 根據(jù)名稱獲取指定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;
}這個添加很簡單。 刪除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增刪改查操作!分享完畢了,快去試試吧! 最后
|
|
|