JavaServlet&JSP7-处理Cookie

1、Cookie概述

Cookie是服务器发送给浏览器的体积很小的纯文本信息,用户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。通过让服务器读取它原先保存到客户端的信息,网站能够给浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针对性地投放广告,等等。

Cookie的目的就是为用户带来方便,为网站带来增值。虽然有着许多误传,事实上Cookie并不会造成严重的安全威胁。Cookie永远不会以任何方式执行,因此也不会带来病毒或攻击你的系统。另外,由于浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB,因此Cookie不会塞满你的硬盘,更不会被用作“拒绝服务”攻击手段。

2、Servlet的Cookie API

要把Cookie发送到客户端,Servlet先要调用new Cookie(name, value)用合适的名字和值创建一个或多个Cookie,通过cookie.setXXX设置各种属性,通过response.addCookie(cookie)把cookie加入应答头。

要从客户端读入Cookie,Servlet应该调用request.getCookies(),getCookies()方法返回一个Cookie对象的数组。在大多数情况下,你只需要用循环访问该数组的各个元素寻找指定名字的Cookie,然后对该Cookie调用getValue方法取得与指定名字关联的值。

2.1、创建Cookie

调用Cookie对象的构造函数可以创建Cookie。Cookie对象的构造函数有两个字符串参数:Cookie的名字和Cookie的值。名字和值都不能包含空白字符串以及下列字符串:[]()=,"/?@:;

2.2、读取和设置Cookie属性

把Cookie加入待发送的应答头之前,可以查看或设置Cookie的各种属性。下面简要介绍这些方法:

 

2.3、在应答头中设置Cookie

Cookie可以通过HttpServletResponse的addCookie方法加入到Set-Cookie应答头。下面是一个例子:


Cookie userCookie = new Cookie("user", "uid123456");
response.addCookie(userCookie);

2.4、读取保存到客户端的Cookie

从客户端读取Cookie时调用的是HttpServletRequest的getCookies方法。该方法返回一个与HTTP请求头中的内容对应的Cookie对象数组。得到这个数组之后,一般是用循环访问其中的各个元素,调用getName检查各个Cookie的名字,直至查找到目标Cookie。然后对这个目标Cookie调用getValue,根据获得的结果进行其他处理。

3、几个Cookie工具函数

3.1、获取指定名字的Cookie的值

该函数是ServletUtils.java的一部分。getCookieValue通过循环依次访问Cookie对

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值