JSP頁面內取cookie
cookie在本地瀏覽器以數組的形式存放,一個cookie就是一個鍵值對,通過循環數組,并根據name來取出來對應的value。下例中,取出name為“youke”的cookie值
<%
String name = "youke";
javax.servlet.http.Cookie cookie = null;
javax.servlet.http.Cookie[] cookies = null;
cookies = request.getCookies();
if( cookies != null ){
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
if(cookie.getName().equals("name")){
name = URLDecoder.decode(cookie.getValue( ),"utf-8");
}
}
}
%>
JS取cookie
function getCookie(c_name) {
if(document.cookie.length > 0) {
//如果cookie為空
var c_start = document.cookie.indexOf(c_name + "="); //檢查key為c_name的cookie是否存在
if(c_start != -1) {
c_start = c_start + c_name.length + 1; //獲取cookie值開始的位置
var c_end = document.cookie.indexOf(";",c_start); //獲取cookie值結束的位置;因為需要考慮是否是最后一項,所以通過";"號是否存在來判斷
if(c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
JS存cookie
- c_name:cookie的key值
- c_value:cookie的value值
- expiredays:過期時間,單位為天
function setCookie(c_name,c_value,expiredays) {
//1.設置cookie過期時間
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
//2.設置cookie
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; //加路徑的
//document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/;domain=.kongzhong.com"; //加路徑的和域的
document.cookie = c_name + "=" + escape(c_value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/;domain=.kongzhong.com;secure"; //加路徑的和域,安全的
}
JS存cookie
- 刪除cookie
- @param c_name cookie的key值
function delCookie(c_name) {
//setCookie(c_name,null,-30); 只要把第三個參數設置成負值就行了
setCookie(c_name,"",-30);
}