【Servlet】Cookie详解

来源:互联网 发布:西部数码域名查询 编辑:程序博客网 时间:2024/05/21 22:25

【是什么】

        Cookie是小量信息,由网络服务器发送出来并存储在网络浏览器上,是个存储在浏览器目录的文本文件,与特定用户相关。

【作用】

1.可以根据cookie包含的信息判断并维护在http传输中的状态。

2.利用cookie跟踪统计用户访问该网站的一些细节,比如访问时间、访问页面、访问频率等等。

3.根据cookie,网站可以提供一些人性化的个性化服务,算是一种被迫性的用户体验调查。

4.目前应用最广泛的是用户登录信息的记录,这样下次访问时就不用重复输入了。

【生存周期】

   有的cookie是属于窗口的,在当前窗口或者子窗口都可以读出来cookie。但是换一个浏览器窗口就读不出来了。有的是属于客户端的,只要是这个客户端,用哪个浏览器都可以读出cookie。这主要是用到了cookie的一个年龄属性。一旦设置了年龄,就会在客户端产生文件,以便读取。

【常用属性】

1.maxAge

  返回cookie在客户端最大的有效时间,以秒为单位。

       CookiemaxAge默认值为-1,表明这是一个临时cookie,不会被保存到磁盘上,仅仅存在于当前浏览器所在的内存中,浏览器关闭cookie也就消失。

        maxAge值为0,表示删除该cookiemaxAge值为正整数,表示该cookie在客户端的有效时间。

2.name

  cookie的名字,创建后不能改变。

3.path

  cookie对服务器上哪个url有效。cookiepath属性决定可以访问该cookieWeb资源的路径。path的默认值为request

4.value

  cookie的值,setValue方法来设置value值。

5.domain

  cookie的域名。如果设置为“.baidu.com”,则所有以“baidu.com”结尾的域名都可以访问该cookie

cookie的使用】

1.设置cookie属性

        Cookie是以键值对的形式保存数据,给cookie设置相应的值,首先创建cookie。代码如下:

Cookie cookie=newCookie("userName","zheng");Response.addCookies(cookie);

2.获取cookie

Cookie[]cookies=request.getCookies();For(inti=0;i<cookies.length;i++){Cookiecook=Cookies[i];System.out.println(cook);}

3.cookie的修改

  若要修改某个cookie,只需要新建一个同名的cookie,添加到response中覆盖原来的cookie即可。

4.cookie的删除

   要删除cookie,只需要新建一个同名的cookie,并将maxAge设置为0即可。

0 0
原创粉丝点击