Java JSP:Cookie 值返回是,但设置为 0

时间:2021-04-24 07:19:24

标签: java

我在 Java Servlet 中使用 cookie。我将 cookie 的值设置为 0。每次用户按 F5 时,计数器增加 1,并将计数器显示给 HTML 文件。但是,该值返回 yes,尽管我将其设置为数字。代码如下:

public class RepeatVisitor extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        boolean newbie = true;
        Cookie[] cookies = request.getCookies();
        Cookie returnVisitorCookie = null;
        if (cookies != null) {
            for (Cookie c : cookies) {
                if (c.getName().equals("repeatVisitor")){
                    newbie = false;
                    returnVisitorCookie = c;
                    break;
                }
            }
        }
        int count = 0;

        String title;
        if (newbie) {
            returnVisitorCookie = new Cookie("repeatVisitor", count+"");
            returnVisitorCookie.setMaxAge(60 * 60 * 24 * 365);
            response.addCookie(returnVisitorCookie);
            title = "Welcome Aboard";
        } else {
            title = "Welcome Back";
            count = Integer.parseInt(returnVisitorCookie.getValue());
            count++;
            returnVisitorCookie.setValue(count+"");
        }
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + "Transitional//EN\">\n";
        out.println(docType + "<HTML>\n" + "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" + "<BODY BGCOLOR=\"#FDF5E6\">\n"
                + "<H1 ALIGN=\"CENTER\">" + title + "</H1>\n"
                + "<H2>Counter: " + returnVisitorCookie.getValue() + "</H2>"
                + "</BODY></HTML>");
    }
}

错误:

java.lang.NumberFormatException: For input string: "yes"
    java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    java.lang.Integer.parseInt(Integer.java:580)
    java.lang.Integer.parseInt(Integer.java:615)
    RepeatVisitor.doGet(RepeatVisitor.java:35)

我不知道为什么。有什么想法吗?

0 个答案:

没有答案
相关问题