Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中创建和加载Cookie_Java_Http_Cookies_Apache Httpcomponents - Fatal编程技术网

在Java中创建和加载Cookie

在Java中创建和加载Cookie,java,http,cookies,apache-httpcomponents,Java,Http,Cookies,Apache Httpcomponents,我正在用Java编写一个小型Web服务器,使用HttpCore处理大多数Http请求/响应等 现在我希望能够创建、存储和加载cookies。我在HttpCore中找不到任何东西,而且我对其他库也不太熟悉。是否有一个现有的库(最好有一个工作示例)来处理cookie 编辑:我发现我对cookies的使用有点困惑。我不完全确定它是如何工作的,但我想保留一个会话,并从web服务器访问会话变量。我该怎么做?如果浏览器保存cookie,是否将其发送到服务器?如何访问它们?服务器中的会话支持通常使用对象存储构

我正在用Java编写一个小型Web服务器,使用
HttpCore
处理大多数Http请求/响应等
现在我希望能够创建、存储和加载cookies。我在
HttpCore
中找不到任何东西,而且我对其他库也不太熟悉。是否有一个现有的库(最好有一个工作示例)来处理cookie


编辑:我发现我对cookies的使用有点困惑。我不完全确定它是如何工作的,但我想保留一个会话,并从web服务器访问会话变量。我该怎么做?如果浏览器保存cookie,是否将其发送到服务器?如何访问它们?

服务器中的会话支持通常使用对象存储构建。一个简单的对象存储可以是一个映射或一个集合。此存储中的对象(映射中的值)具有逻辑会话概念的一对一映射,即对于服务器创建的每个会话,存储中将有一个项

存储管理的会话可能允许属性与其关联。这些属性的列表可能事先不知道,因此您需要另一张地图来实现此目的;键是属性名,值是属性值

就会话存储的管理而言,当对服务器进行API调用时,您需要在存储中创建一个新会话。简单地说,如果web应用程序决定需要创建会话,则服务器的API必须提供必要的接口。仅创建会话对象是不够的;您还需要在首次创建会话时将会话ID作为cookie写入。API必须允许在这种情况下编写适当的响应。您可能想看看ServletAPI,特别是针对HttpServletRequest和HttpSession类的,以及用于此目的的Servlet容器实现


关于从请求访问cookie的主题,您需要解析传入的HTTP请求头,以检查浏览器发送的任何cookie。浏览器和其他HTTP客户端需要为此使用
Set Cookie
请求头。您需要确保只有在请求中提供了有效的cookie时,会话对象才可以返回到web应用程序。

我希望您已经阅读了。服务器本身不会创建、加载和存储cookie,除非被告知这样做。您需要为您的服务器构建一个API,该API将由开发人员调用(例如)。如果您需要帮助,请看一下Tomcat的底层工作。那么,我希望您能为我指明一个处理cookies的库的方向。我已经编辑了我的评论。看看servlet容器,这是了解其工作原理的最简单方法。避免查看HttpClient,因为它提供了场景的客户端视图。