在读取Cookie,然后操作时,除了getName(),getValue()外,其它值都是Null

在读取Cookie,然后操作时,除了getName(),getValue()外,不要妄图得到其他信息,如下方法不会得到值的:

cookie.getMaxAge();

cookie.getDomain();
。。。

因为,客户端传来的时候,就只剩下key和value了。





Java中的Cookie操作:



在Java中利用Serlvet或者JSP scriptlet可以向浏览器端写入Cookie。



同样,利用Servet或者JSP scriptlet 也可以读取到 Cookie信息。



Servlet规范中的Cookie API 如下:



setMaxAge setPath setDomain等方法,可以对Cookie状态进行控制;



同样存在如下方法,可以获得相应的状态:



getMaxAge getPath getDomain等方法,可以对Cookie的状态。





然后,问题来了:





读取Cookie时,发现除了Cookie的key和value外,其他的信息都丢失了!!



原因很简单:



Cookie从服务器端发送到客户端时,信息是完整的;



Cookie从客户器端发送到服务端时,信息只剩下key、value了。



(想想也明白,Domain不对的Cookie、Path不对的Cookie、过期的Cookie,客户端是不会发送过来的。)



那为什么Java中提供了相应的get方法呢? 那个方法是在生成Cookie后,尚未发送到客户端时,使用的。是“封装”的体现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值