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

来源:互联网 发布:凉宫春日的消失 知乎 编辑:程序博客网 时间:2024/05/12 16:53
答:不能 !
    如果一个组件创建了Cookie,然后  转发  给了另外一个servlet 或 JSP 或 其它组件,那么该 转发后的地方获取不到刚刚定义的Cookie,因为转发共享数据,在本web应用内完成,共享同一个request和response,当web应用内一个组件创建了一个Cookie,并绑定到response上时,这个时候进行了转发 操作,这个时候服务器并没有将Cookie提交给客户端, 而是提交将该cookie随着response转交给了下一个组件 ,这个时候如果通过request.getCookies获取Cookie是 获取不到的,因为服务器还没有将cookie提交给客户端 这个时候的request更是用户初始的请求,没有绑定任何相关的cookie。
    而如果是重定向就可以,因为重定向是两次请求,在重定向过程中已经将cookie提交给客户端,第二次发过来请求的时候,可以通过第二次的request获取到cookie。
    这个也从另外一个角度说明了是当response销毁时才将 cookie发送给客户端。
0 0
原创粉丝点击