登陆——Cookies

一、概念

cookies信息指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。

基于 Internet的各种服务系统应运而生,建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的一些信息。

举例访问一个论坛,需要记录一些用户信息(如身份识别号码、密码、用户在 Web 站点购物的方式或用户访问该站点的次数),如果没有cookie,那么我们每访问一个该论坛的新页面都要重新进行一次信息确认,如果这个信息是用户名和密码,是不是每次都要进行一次账号密码输入验证,这样显然是不行的,所以需要用cookie进行记录。

二、域名可存储Cookie数量

不同浏览器允许每个域名存储cookie数量不同
Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。

Firefox每个域名cookie限制为50个。

Opera每个域名cookie限制为30个。

Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。

注:“每个域名cookie限制为20个”将不再正确!

三、Cookie操作

(1)新建一个对象

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

创建了一个cookie,并且向cookie中写入了数据key=value,注意cookie中不能写入中文,也就是说后面的验证码效验,如果是中文验证码,则不能用cookie
如果我们将这个cookie向客户端发送,那么相应头的形式是这样的

Set-Cookies:"key=value"

(2)设置Cookie在客户端的持久化时间

cookie.setMaxAge(60);  

设置60秒(Int类型)生存期。
cookie默认的生命周期是一个会话,就是说只要浏览器关闭,他就没有了,如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭cookie信息销毁(会话级别的cookie),如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里,设置多久时间,他就会存在多长时间
举例:设置cookie信息在浏览器的磁盘文件中存储的时间是10分钟,过期浏览器自动删除该cookie信息cookie.setMaxAge(10*60);

(3)设置Cookie路径
如果不设置携带路径,那么该cookie信息会在访问产生该cookie的web资源所在的路径都携带cookie信息,比如/aa/servlet的这个路径的servlet产生了cookie,那么只有在访问WWW/aa下的资源的时候才会带cookie,如果访问WWW/a.jsp则不会带cookie,因为他不是aa目录下的

cookie.setPath("/WEB16");

代表访问WEB16应用中的任何资源都携带cookie

cookiecookie.setPath("/WEB16/cookieServlet");

代表访问WEB16中的cookieServlet时才携带cookie信息

cookie.setPath("/");

访问服务器下的所有应用都携带这个cookie

(4)向客户端发送cookie:

response.addCookie(Cookie cookie);

创建完成之后,只有发送才能到答响应体

https://www.ssffx.com/xinqingsuibi/13330.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值