关于Cookie的问题,不得其解

douliang 2003-10-17 11:45:58
我的理解是:Cookie可以在用户访问网页时,在访问者的机器上创立一个文件,写一段内容进去,来标识不同的用户,和存储一些变量值。如果下次用户再访问这个网页的时候,它又能够读出这个文件里面的内容。
那么就是说:只要创建了cookie,并且该cookie存活时间足够长,我在下次打开浏览器访问同一个文件的时候,cookie里的值可以被读出。对吗?

我写了这个servelt:
import java.io.*;
import javax.servlet.*;

import javax.servlet.http.*;

public class CookieServlet extends HttpServlet {

public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

int calledCount=0;

res.setContentType("text/html;charSet=gb2312");

PrintWriter out=res.getWriter() ;
out.println("<html><title>cookie</title><body>");
if (getReqCookie(req,out,"calledCount")==null)
calledCount=0;
else
calledCount=new Integer(getReqCookie(req,out,"calledCount")).intValue() ;

out.println("本次请求发送的cookie值为:");
if (calledCount==0) out.println("null");
else out.println(calledCount+"<hr>");
calledCount++;

Cookie cookie=new Cookie("calledCount",new Integer(calledCount).toString());

res.addCookie( cookie);
cookie.setMaxAge(365*24*60*60);
out.println("本次响应设置的cookie值为:"+calledCount);
out.println("</body><html>");
out.close();

}

private String getReqCookie(HttpServletRequest req,PrintWriter out,String name){
Cookie []cookies=req.getCookies();
if (cookies!=null && cookies.length >0){
for(int i=0;i<cookies.length;i++){
if (cookies[i].getName().equals(name))
return (cookies [i ].getValue());
}
}
return null;
}

}

运行后刷新页面,calledCount的值不断增加一,但是当我关掉浏览器,然后重新打开再次访问该页面时,calledCount又从1开始计数了?
我觉得很奇怪,难道没有创建cookie成功,所以记不住上次访问时的calledCount?但是如果没有创建成功,calledCount又怎么会自动增加呢?
...全文
22 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
douliang 2003-10-17
  • 打赏
  • 举报
回复
我用的是IE,已经设置成接受所有cookie了。
我试过腾讯的了,也不行。
郁闷中。。。
littlecong 2003-10-17
  • 打赏
  • 举报
回复
cookie是创建成功了,只是它的MaxAge设置的有问题,有没有换个浏览器试试看
hj12 2003-10-17
  • 打赏
  • 举报
回复
看了半天没看出来有什么错误,(可能是自己水平太低了)。我猜可能和你的浏览器的cookie的设置有关吧!实在看不出来那里错了!
douliang 2003-10-17
  • 打赏
  • 举报
回复
好像明白了,cookie.setMaxAge(365*24*60*60);应该放在res.addCookie( cookie);之前的

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧