您的位置:首页 > Web前端 > JavaScript

JSP服务器什么时候将cookie发送给客户端?一次请求中在一个组件中创建了Cookie,在另外一个组件中能接收到值么?

2014-10-17 10:32 573 查看
答:不能 !

    如果一个组件创建了Cookie,然后  转发  给了另外一个servlet 或 JSP 或 其它组件,那么该 转发后的地方获取不到刚刚定义的Cookie,因为转发共享数据,在本web应用内完成,共享同一个request和response,当web应用内一个组件创建了一个Cookie,并绑定到response上时,这个时候进行了转发 操作,这个时候服务器并没有将Cookie提交给客户端, 而是提交将该cookie随着response转交给了下一个组件 ,这个时候如果通过request.getCookies获取Cookie是
获取不到的,因为服务器还没有将cookie提交给客户端 这个时候的request更是用户初始的请求,没有绑定任何相关的cookie。

    而如果是重定向就可以,因为重定向是两次请求,在重定向过程中已经将cookie提交给客户端,第二次发过来请求的时候,可以通过第二次的request获取到cookie。

    这个也从另外一个角度说明了是当response销毁时才将 cookie发送给客户端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐