javaEE cookie

1服务器可以向客户端写内容,只能是文本内容

2客户端可以阻止服务器写入

3服务器只能拿自己webapp写入的东西

4写入的cookie是名值对形式保存数据,在:c:\Documents and Settings\Administrator\Cookies

5记录前后之间的状态,比如你买了一些东西,不记录下来,就不知道这些东西已经买了。cookie记录下后,后面访问

的网页就知道你前面网站选好的东西了。

6记住用户和密码都记录在了cookie里面,采用特殊的算法加密了密码。

7针对http协议的无连接性要求出现的一种保存C/S间状态的机制。

8创建Cookie:new Cookie(name,value)

9可以使用Cookie的setXXX方法来设定一些相应的值

setName(String name)/getName()

setValue(String value)/getValue()

setMaxAge(int age)/getMaxAge()

利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端

利用HttpServletRequest的getCookie()读取客户端的所有Cookie,返回一个数组

10Cookie分为两种:一种属于窗口/子窗口,一种属于文本。

Cookie cookie = new Cookie("name","value");

response.addCookie(cookie);

//Default maxAge is -1,indicating cookie applies only to current browsing seesing.

//只有当前浏览器可以访问,重新打开的浏览器不能访问。用ctrl+n打开的浏览器窗口也可以访问。

cookie = new Cookie("name","value");

cookie.setMaxAge(3600);//设置生存时间,以秒为单位

response.addCookie(cookie);

//如果设置生存周期,它会保存在文本文件中,如果没有设置生存周期或设置为-1,cookie仅保存在内存中。

11读取Cookie:Cookie[] cookies = request.getCookies();

Cookie cookie= cookies[i];

cookie.getName();

cookie.getValue();

12一个servlet/jsp设置的cookie能够被同一个路径下面或者子路径下面的servlet/jsp读到(这里的路径=URL,路径不等

于真实的路径)

13Cookie文件的格式为:

Set-Cookie:

NAME=VALUE;//在servlet中,用于会话跟踪的Cookie的名字必须是JSESSIONID

Comment=value;//可选的,允许服务器说明这个Cookie的使用

Domain=value;//可选的,用于指定Cookie在哪一个域中有效,必须以点号.开始

Max-Age=value;//可选的,定义Cookie的生存时间,以秒为单位,如果为0,则立即被丢弃

Path=value;//可选的,用于指定这个Cookie在哪一个URL子集下有效

Secure;//可选的,没有值,指示浏览器使用安全的方式与服务器交互

Version=1*DIGIT//必须的,值是一个十进制的整数

如:Set-Cookie:uid=zhangsan;Max-Age=3600;Domain=.sunxin.org;Path=/bbs;Version=1

上面这个响应报头发送一个名为uid,值为zhangsan的cookie,生存时间是3600秒,在sunxin.org域的/bbs路径下有效

当浏览器收到上面这个响应报头后,可以选择接受或者拒绝这个Cookie,如果接受了这个Cookie,当浏览器下一次发

送请求给hhtp://www.sunxin.org/bbs/路径下的资源时同时会发送下面的请求报头:Cookie:uid=zhangsan

服务器从请求报头中得到Cookie,然后通过标识取出在服务器中存储的zhangsan的状态信息,通过为不同的用户发送

不同的Cookie,就可以实现每个用户的会话跟踪。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值