先看代码:
del_cookie.png
del_cookie.png
问题:
1.在第一句 设置cookie.setMaxAge(0)后;第二句为什么还有把cookie 添加进来 ??
解释:
因为:
首先得明白,在服务器端是不能直接删除客户端的cookie。它采取的方式是在服务端设置cookie.setMaxAge(0),再通过 response.addCookie(cookie) 将这个值返回到客户端后,客户端就知道自己的cookie没用了,再删除它。 故 response.addCookie(cookie); 不能省略,它是一个告知的功能
比喻:
好比 商场不能直接扔掉客户的的会员卡(会员卡相当于cookie),它只能设置客户的会员卡失效,客户知道会员卡失效后,自己才把卡扔掉(扔掉才相当于删除cookie的功能)。