我正在做一个学校项目,其中包含一个使用 cookie 的计数器。我曾经让计数器在每次刷新时将递增值传递给 bean 中的变量,但有人告诉我,这是一个糟糕的解决方案。此任务的规范很明确:
- 创建一个计数器
- 使用 cookie 来执行此操作
- 设置 cookie 的过期日期
有人有解决方案吗?我对此一无所知..
感谢每个有用的答案。
您可以在您的方法中尝试以下类似的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。