cookie保存在客户端, cookie的存取有两种方式,一种是用javascript完全在客户端处理;
<
script language
=
"
javascript
"
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
添加COOKIE,设定Cookie值
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
function
setCookie()
...
{
var page = document.all.page.value;
var job = document.all.keyword_job.value;
var workarea = document.all.workarea.value;
var date = document.all.updatedate.value;
alert();
var cookieName = "cookie=toolSearch";
var Days = 30; //此 cookie 将被保存 30 天
var expireDate = new Date(); //new Date("December 31, 9998");
expireDate.setTime(expireDate.getTime() + Days*24*60*60*1000);
cookieName = cookieName+"&page="+page+"&keyword_job="+job+"&workarea="+workarea+"&updatedate="+date;//把所有的参数作为整个cookie名保存
document.cookie = cookieName+";expires="+ expireDate.toGMTString();
}
</
script
>
注意:上述存储cookie时,使用的是"&"而不是分号(expires前例外,必须是分号,限定存储时间) .很多地方都说存储在cookie里的字符串用分号连接,但是经过无数次测试,分号存储都不完整,例如,如果在keyword_job前面用分号而不是"&"那么存到cookie里的字符串是cookieName+"&page="+page后面的不能存储,但是expires前面的不能改成"&
另外一种是用服务器端脚本存取。
Cookie [] cookies
=
request.getCookies();
String cookieName
=
null
;
String cookieValue
=
null
;
if
(cookies
!=
null
)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
for
(
int
i
=
0
; i
<
cookies.length; i
++
)
...
{
cookieName=cookies[i].getName();
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if( cookieName.equals("cookie") ) ...{ //判断cookie名是否与存储的相同
cookieValue=cookies[i].getValue(); //取cookieValue,应该是不包含cookieName的字符串
String[] temp = cookieValue.split("&");//分离字符串,因为存储是通过&符号连接的
//注意:分离出来的字符串是以"name=value"形式放在tempp[]中的,要细分如果可以用temp[i].split("&")
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
}
}