如何解决在Java中创建和加载Cookie
| 我正在用Java编写一个小型Web服务器,对于大多数Http请求/响应等都使用HttpCore
。
现在,我希望能够创建,存储和加载Cookie。我在ѭ0中找不到任何内容,并且对其他库不太熟悉。是否有一个现有的库(最好有一个工作示例)来处理cookie?
编辑:我看到我对cookie的使用有点困惑。我不太确定它是如何工作的,但是我想保留一个会话,并从Web服务器访问会话变量。我怎样才能做到这一点?如果浏览器保存cookie,是否会将它们发送到服务器?如何访问它们?
解决方法
服务器中的会话支持通常使用对象存储构建。一个简单的对象库可以是Map或Set。该存储中的对象(在Map的情况下为值)具有逻辑会话概念的一对一映射,即对于服务器创建的每个会话,存储中将只有一项。
由商店管理的会话可以允许将属性与它们相关联。此类属性的列表可能事先未知,因此您需要另一个映射。键将是属性名称,而值将是属性值。
就会话存储的管理而言,当对服务器进行API调用时,您需要在存储中创建一个新的Session。简而言之,如果Web应用程序确定需要创建会话,则服务器的API必须提供必要的接口来创建会话。仅创建会话对象是不够的。首次创建会话时,您还需要将会话ID作为cookie写出。在这种情况下,API必须允许编写适当的响应。您可能想看看Servlet API(专门用于HttpServletRequest和HttpSession类),以及用于此目的的Servlet容器实现。
关于从请求访问cookie的主题,您需要解析传入的HTTP请求标头,以检查浏览器发送的所有cookie。浏览器和其他HTTP客户端应为此目的使用“ 2”请求标头。您需要确保只有在请求中提供了有效的cookie时,会话对象才可以返回到Web应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。