求教在jsp页面中获取Cookie的问题
问题描述:在登录主页index.jsp之前增加了一个Filter,在Filter中添加了一个Cookie,然后在页面index.jsp中读取cookie中的内容。结果发现在第一次登录的时候页面读取不到Cookie的内容,而刷新一次后才能读取到。通过查看浏览器Cookie和页面上alert(document.cookie);都能发现第一次访问这个页面的时候是有Cookie的。
代码如下:
Filter中:
[解决办法]
你这个问题你首先得理解http协议的工作机制。
你第一步在你的filter里面写入cookie,实际上这时候cookie被写入response对象中,但是在当前这个请求中(当前request的生命周期中)还是访问不到cookie的,所有你在你的jsp中访问request是访问不到cookie内容的。但是到了浏览器中又有了,是因为浏览器中显示的是response中的内容,那当然有了。第二次访问的时候浏览器会把cookie通过request传回服务器端,所以又有了。