Java HttpRequestHandler-如何告诉客户端保存cookie?

Java HttpRequestHandler-如何告诉客户端保存cookie?,java,apache,http,Java,Apache,Http,我正在制作一个简单的HTTP服务器,使用Java进行教育。我需要知道如何指示客户端保存cookie以识别其会话ID 我做了研究,偶然发现了一个,尽管它提供了大量信息,事实上让我了解了整个CookieStore,但它并没有真正说明如何告诉客户保存cookie 据我所知,HttpRequestHandlers中的handle方法只传递了三个参数: HttpRequest-请求本身及其相关信息 HttpResponse-应写入响应的“介质” HttpContext-。。。(不太清楚它是干什么的,待定

我正在制作一个简单的
HTTP
服务器,使用Java进行教育。我需要知道如何指示客户端保存cookie以识别其会话ID

我做了研究,偶然发现了一个,尽管它提供了大量信息,事实上让我了解了整个
CookieStore
,但它并没有真正说明如何告诉客户保存cookie

据我所知,
HttpRequestHandlers
中的
handle
方法只传递了三个参数:

  • HttpRequest
    -请求本身及其相关信息
  • HttpResponse
    -应写入响应的“介质”
  • HttpContext
    -。。。(不太清楚它是干什么的,待定。)
同时,我上面提到的链接中的所有答案都会被调用

  • response=client.execute(httppost,localContext),或
  • HttpResponse response1=httpClient.execute(method1,httpContext)
…在处理的某个点上。我不知道如何获得对客户端的引用(从而执行存储cookie的请求)


我该怎么办?我遗漏了什么吗?

当您的服务器响应客户端的请求时,您必须在响应中包含cookie头(例如,
设置cookie:value;path;domain;expire
),这看起来像这样。当我回到家的时候,我要试一试,看看它是否真的回答了我的问题。谢谢!很抱歉,在我尝试之后,
addCookie
方法仅在
HttpServletResponse
中可用,而在我当前使用的
HttpResponse
中不可用。您需要在响应头中添加一个“setcookie:”元素。您使用什么库来创建HttpResponse对象?我正在介绍Apache。也许重要的是要注意到我正在使用Android。所以我认为Apache是唯一的出路。看看这个库,HttpResponse扩展了HttpMessage。HttpMessage操作标头。尝试类似response.addHeader(“设置Cookie”,“值;路径;域;过期”);
Cookie userCookie = new Cookie("Name","Value");
userCookie.setMaxAge(-1);//for a session cookie
userCookie.setPath("/");
response.addCookie(userCookie);//adds to cookie to the response that is sent to the browser.