-1

我正在做一个学校项目,其中包含一个使用 cookie 的计数器。我曾经让计数器在每次刷新时将递增值传递给 bean 中的变量,但有人告诉我,这是一个糟糕的解决方案。此任务的规范很明确:

  • 创建一个计数器
  • 使用 cookie 来执行此操作
  • 设置 cookie 的过期日期

有人有解决方案吗?我对此一无所知..

感谢每个有用的答案。

4

1 回答 1

1

您可以在您的方法中尝试以下类似的doXXX()方法:

Cookie[] cookies = request.getCookies();
int count = 0;
for(Cookie cookie:cookies){
    if(cookie.getName().equals("www.yourDomain.com.HitCounter")){
        count = Integer.parseInt(cookie.getValue());
        count++;
        cookie.setValue(count+"");
    }
}
if(count == 0){
    Cookie cookie = new Cookie("www.yourDomain.com.HitCounter","1");
    cookie.setMaxAge(3600*10*24);// expire in 10 days.
    response.addCookie(cookie);
}

要了解 Servlet 中的 cookie,请访问Javadoc

于 2013-05-29T10:07:02.653 回答