java和js中如何操作cookie
阿新 • • 發佈:2019-01-27
Java操作Cookie之新增Cookie:
//建立Cookie
//設定Cookie的生命週期
Java操作Cookie之讀取Cookie:
Java操作Cookie之刪除Cookie:
JavaScript操作Cookie
//建立Cookie
javax.servlet.http.Cookie nameCookie = new javax.servlet.http.Cookie("name", "darkmi");
javax.servlet.http.Cookie pwdCookie = new javax.servlet.http.Cookie("password","darkmi123");
javax.servlet.http.Cookie optCookie = new javax.servlet.http.Cookie("option","1982");
//設定Cookie的生命週期
nameCookie.setMaxAge(60*60*24*365);
pwdCookie.setMaxAge(60*60*24*365);
optCookie.setMaxAge(60*60*24*365);
response.addCookie(nameCookie);
response.addCookie(pwdCookie);
response.addCookie(optCookie);
Java操作Cookie之讀取Cookie:
javax.servlet.http.Cookie[] cookies = request.getCookies(); if (cookies != null) { String name = ""; String password = ""; String option = ""; javax.servlet.http.Cookie c = null; for (int i = 0; i < cookies.length; i++) { c = cookies[i]; if (c.getName().equalsIgnoreCase("name")) { name = c.getValue(); } else if (c.getName().equalsIgnoreCase("password")) { password = c.getValue(); } else if (c.getName().equalsIgnoreCase("option")) { option = c.getValue(); } c = null; } System.out.println("name - > " + name); System.out.println("password - > " + password); System.out.println("option - > " + option); }
Java操作Cookie之刪除Cookie:
javax.servlet.http.Cookie[] cookies = request.getCookies(); if (cookies != null) { javax.servlet.http.Cookie c = null; for (int i = 0; i < cookies.length; i++) { c = cookies[i]; if (c.getName().equalsIgnoreCase("name")) { c.setMaxAge(0); response.addCookie(c); } else if (c.getName().equalsIgnoreCase("password")) { c.setMaxAge(0); response.addCookie(c); } else if (c.getName().equalsIgnoreCase("option")) { c.setMaxAge(0); response.addCookie(c); } c = null; } }
JavaScript操作Cookie
<script type="text/javascript">
function getCookie(name){ // 返回名為name的Cookie
var str = document.cookie; // 獲取Cookie字串
if(!str || str.indexOf(name + "=") < 0) // 尋找name=
return;
var cookies = str.split("; "); // 用;將所有的Cookie分隔開
for(var i=0; i<cookies.length; i++){ // 遍歷每個Cookie
var cookie = cookies[i]; // 當前Cookie
if(cookie.indexOf(name + "=") == 0){ // 如果名字為name
var value = cookie.substring(name.length + 1);
// 獲取value
return decodeURI(value); // 將value解碼,並返回
}
}
}
function setCookie(name, value){ // 設定Cookie
document.cookie = name + "=" + encodeURI(value);
// 直接設定即可
}
</script>
<!--
//學習一下如何利用js來操作cookie
//寫入 cookie
//不區分 cookieName 的大小寫
//不考慮子鍵
function WriteCookies(cookieName, cookieValue, expires)
{
if (expires)
{
//指定了 expires
document.cookie =
WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue)
+ "; expires=" + xpires.toGMTString();
}
else
{
document.cookie = WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue);
}
}
//獲取並返回與 cookieName 同名的 cookie 名稱,允許大小寫不同
//如果不存在這樣的 cookie,就返回 cookieName
function WriteCookies_GetCookieName(cookieName)
{
var lowerCookieName = cookieName.toLowerCase();
var cookieStr = document.cookie;
if (cookieStr == "")
{
return cookieName;
}
var cookieArr = cookieStr.split("; ");
var pos = -1;
for (var i=0; i<cookieArr.length; i++)
{
pos = cookieArr[i].indexOf("=");
if (pos > 0)
{
if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
{
return cookieArr[i].substring(0, pos);
}
}
}
return cookieName;
}
//獲取並返回 cookie 值
//不區分 cookieName 的大小寫
//dfltValue 為預設返回值
//不考慮子鍵
function ReadCookies(cookieName, dfltValue)
{
var lowerCookieName = cookieName.toLowerCase();
var cookieStr = document.cookie;
if (cookieStr == "")
{
return dfltValue;
}
var cookieArr = cookieStr.split("; ");
var pos = -1;
for (var i=0; i<cookieArr.length; i++)
{
pos = cookieArr[i].indexOf("=");
if (pos > 0)
{
if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
{
return unescape(cookieArr[i].substring(pos+1, cookieArr[i].length));
}
}
}
return dfltValue;
}
//test all the oper
document.write("寫入名稱為 cv 的 cookie...<br>");
WriteCookies("test", "test123", null);
document.write("寫入名稱為 Ab,帶失效日期的 cookie...<br>");
var expires = new Date("December 11, 2010");
WriteCookies("singleblue", "test234", expires);
document.write("讀取名稱為 singleblue 的 cookie..." + ReadCookies("ab", ""));
-->