JSP点击计数器与cookie

时间:2013-05-29 09:48:42

标签: java jsp servlets cookies counter

我在一个学校项目上工作,其中包含一个使用cookies的点击计数器。我曾经让计数器在每次刷新时只将递增值传递给bean中的变量,但我被告知,这是一个糟糕的解决方案。 这项任务的规范很明确:

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

有人有解决方案吗?我对它很无能为力......

感谢每个有用的答案。

1 个答案:

答案 0 :(得分: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