Java 为什么Cookie名称和值是';http';和';代理';没有在eclipse中创建一个?

Java 为什么Cookie名称和值是';http';和';代理';没有在eclipse中创建一个?,java,eclipse,servlets,cookies,Java,Eclipse,Servlets,Cookies,我正在尝试使用eclipse在servlet中创建一个简单的cookie程序 事实就是这样:- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html");

我正在尝试使用eclipse在servlet中创建一个简单的cookie程序

事实就是这样:-

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    Cookie[] cookies = request.getCookies();


    if(cookies == null)
    {
        out.print("<b> Hello Stranger </b><br>");

    }
    else
    {
        for(Cookie cookie:cookies)
        {
            out.print("<b> Hello" + cookie.getValue() + "</b>");
        }
    }

    out.print("<form action = '' method = 'post'>");
    out.print("What is your name?");
    out.print("<input type = 'text' name = 'username'><br>");
    out.print("<br>");
    out.print("<input type = 'submit'>");
    out.print("</form>");


}

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

    PrintWriter out = response.getWriter();
    response.setContentType("text/html");

    String str = request.getParameter("username");

    Cookie[] cookies = request.getCookies();

    if (cookies == null)
    {
        Cookie c  = new Cookie("username",str);
        c.setMaxAge(-1);
        response.addCookie(c);
    }

    for(Cookie cookie: cookies)
    {
        out.print("<b> Hello," + cookie.getName() + "</b>");
    }
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
//TODO自动生成的方法存根
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
Cookie[]cookies=request.getCookies();
如果(cookies==null)
{
打印(“你好,陌生人
”; } 其他的 { 用于(Cookie:cookies) { out.print(“Hello”+cookie.getValue()+”); } } 输出。打印(“”); 打印(“你叫什么名字?”); 打印输出(“
”); 打印输出(“
”); 输出。打印(“”); 输出。打印(“”); } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{ //TODO自动生成的方法存根 PrintWriter out=response.getWriter(); response.setContentType(“text/html”); String str=request.getParameter(“用户名”); Cookie[]cookies=request.getCookies(); 如果(cookies==null) { Cookie c=新Cookie(“用户名”,str); c、 setMaxAge(-1); 答复.addCookie(c); } 用于(Cookie:cookies) { out.print(“你好,+cookie.getName()+”); } }
当使用eclipse在tomcat服务器上运行它时 我得到的是你好http 即使在点击提交之后 它显示的是相同的内容,而不是输入的名称。

您正在迭代(并打印)入站HttpServletRequest中包含的cookie列表,但您正在将新cookie添加到HttpServletResponse中

虽然有一个addCookie()方法,但它没有匹配的getCookie(),因此如果希望查看添加到响应对象的Cookie,则需要解决此问题。有几篇文章介绍了这一点,例如和。

您正在迭代(并打印)入站HttpServletRequest中包含的cookie列表,但您正在将新cookie添加到HttpServletResponse中


虽然有一个addCookie()方法,但它没有匹配的getCookie(),因此如果希望查看添加到响应对象的Cookie,则需要解决此问题。有好几篇文章介绍了这一点,例如和。

但现在似乎可以了!曲奇不是一回事吗。我的意思是在响应对象中添加cookie之后,响应(包含cookie)被发送到客户端并存储在那里。现在,来自客户端的每个进一步请求都应该包含为该特定网页设置的所有cookies。i、 当我点击刷新页面时,会调用doGet方法,但是现在Cookie已经存在了!是的-客户端对同一个servlet的后续请求将包含在早期响应中设置的cookies。但是现在它似乎可以工作了!曲奇不是一回事吗。我的意思是在响应对象中添加cookie之后,响应(包含cookie)被发送到客户端并存储在那里。现在,来自客户端的每个进一步请求都应该包含为该特定网页设置的所有cookies。i、 当我点击刷新页面时,会调用doGet方法,但是现在Cookie已经存在了!是-客户端对同一servlet的后续请求将包含在早期响应中设置的cookie。