jsp_cookie不懂

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:18:01
reset.jsp页面
....
<body>
<%
response.addCookie(new Cookie("Accesstime","1"));
%>
<jsp:forward page="useCookie.jsp"/>
</body>
....
useCookie.jsp页面
....
<body>
<%
Cookie[] cookies = request.getCookies();
String counter_S = null;
int counter;
if(cookies!=null)
{
for(int i = 0 ; i<cookies.length;i++)
{
if(cookies[i].getName().equals("Accesstime"))
{
counter_S=cookies[i].getValue();
}
}
try
{
counter = Integer.parseInt(counter_S)+1;
}
catch(Exception ex)
{
counter = 1;
}
response.addCookie(new Cookie("Accesstime",new Integer(counter).toString()));
out.println("这是您第"+counter+"访问本站");

}
%>
</body>
....
不停刷新reset.jsp页面,为什么counter会增加,

你把cookie清除之后再刷新就是1了,以后每次刷新前都先把cookie清除
那么就会出现counter不会增加一直是1的效果了

cookie的作用就在于记录保存用户本次访问的相关信息,
用户在关闭浏览器后会在用户的电脑上生成一个cookie文件

你在第一次访问这个jsp文件后,在你的电脑上生成的cookie文件中就包含了counter=1的信息,然后刷新时就相当于第二次访问,服务器会先读取你本地的cookie文件,(如果没有就新建一个,有了就直接读取其中的信息),然后counter会在原来等于1的基础上再加1,所以不断刷新
counter的值就会不断增加