我在一个学校项目上工作,其中包含一个使用cookies的点击计数器。我曾经让计数器在每次刷新时只将递增值传递给bean中的变量,但我被告知,这是一个糟糕的解决方案。 这项任务的规范很明确:
有人有解决方案吗?我对它很无能为力......
感谢每个有用的答案。
答案 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。