为什么代码没有达到其他部分

时间:2014-05-15 13:28:50

标签: java servlets cookies

在这个servlet中,代码永远不会到达else部分为什么会这样?即使我没有添加任何cookie,它仍然会打印一些随机值?为什么会这样?

public class profile extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        Cookie[] ck=req.getCookies();

        resp.setContentType("text/html");
        PrintWriter out=resp.getWriter();
        if(ck!=null)
        {
            System.out.println("hello");
            RequestDispatcher rd=req.getRequestDispatcher("/index.jsp");
            rd.include(req, resp);
            out.println("welcome to your profile "+ck[0].getValue());
        }   
        else
        {
            out.println("sorry annonymous,you have to login first");
            RequestDispatcher rd=req.getRequestDispatcher("/login.jsp");
            rd.include(req, resp);
        }

    }

}
甚至eclipse都说死代码为什么会这样?

1 个答案:

答案 0 :(得分:1)

而不是验证cookie的存在。 您应该验证一些确切的值,您可以使用setCookies方法进行主要设置。