VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 700|回复: 5

cookie应用问题

[复制链接]

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-21 17:40:01 | 显示全部楼层 |阅读模式
初步接触cookie,按照书上的例子写了一个小程序,但是为什么每次刷新resetCookie.jsp,cookie-AccessTimes不重置为1?(现在每次刷新都累加1)

代码非常简单,我就全文贴在这里了。
resetCookie.jsp:
<%@ page language="java" %>
<%@ page pageEncoding="GB2312" %>
<html>
    <head>
        <title>jsp 会话跟踪</title>
    </head>
    <body>
        <%
        response.addCookie(new Cookie("AccessTimes","1"));
        %>
        <jsp:forward page="useCookie.jsp" />
    </body>
</html>

useCookie.jsp:
<%@ page pageEncoding="GB2312" language="java" %>
<html>
    <head>
        <title>cookie演示</title>
    </head>
    <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("AccessTimes"))
                                counter_S=cookies[i].getValue();
                }
                try
                {
                                counter=Integer.parseInt(counter_S)+1;
                }
                catch(Exception ex)
                {
                        counter=1;
                }
                response.addCookie(new Cookie("AccessTimes",new Integer(counter).toString()));
                out.println("You have visited the site for"+counter+"times!");
        }
        %>
    </body>
</html>
回复

使用道具 举报

0

主题

12

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-31 14:00:02 | 显示全部楼层
jsp:forward page="useCookie.jsp";
问题在这里,forward方法会强制刷空输出流的缓冲区,也就是说之前设置的报头,和进行的输出都没有正常进行
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-2-9 16:00:02 | 显示全部楼层
看文档说jsp:forward后面的语句不会执行。
况且jsp:forward之前并没有任何输出语句,response.addCookie这个不算输出吧,文档说之前有输出的话会有异常,但我的没有异常啊
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-2-9 20:15:01 | 显示全部楼层
在网上搜索了一下,确实有反映jsp:forward的语句得不到执行的
各位大虾可否解释一下
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-2-17 22:30:01 | 显示全部楼层
是jsp:forward以前的语句得不到执行
回复

使用道具 举报

0

主题

63

帖子

42.00

积分

新手上路

Rank: 1

积分
42.00
发表于 2020-2-20 22:00:01 | 显示全部楼层
最简单的,改redirect吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表