gpt4 book ai didi

java - 在 Jersey REST 请求/响应之间存储变量

转载 作者:太空狗 更新时间:2023-10-29 16:20:13 25 4
gpt4 key购买 nike

我是 Jersey/REST 新手,正在尝试编写一个简单的 Web 服务。我遇到的问题是请求之间的数据存储。

Servlet 可以访问 session ,但我不相信 Jersey/REST 允许这样做。

我目前正在编写此服务,以便 Android 应用程序向 Tomcat 发出 RESTful 请求。

现在我还不确定这些请求的类型:它们应该是带参数的 URL,还是只是一个 XML 字符串?从应用程序传输的数据类型将包括 RSS 提要地址和关键字以及各种元数据。

来自服务器的 XML 响应将再次包含 RSS 提要地址、关键字、关键字频率和其他元数据。

目前的想法是在应用程序和服务器上使用 JAXB 将 XML 组合和分解为 Java 对象。

JSON 或 GS​​ON 在这里不可用。

但是如何在请求之间存储数据呢?如果 XML 构成请求和响应操作,是否足以将所有相关变量存储在 XML 中,其中每个请求都有一个引用服务器数据库的 ID 号。

还是通过 REST 为 servlet 使用 session 上下文更好?

如果以上内容听起来含糊不清,我们深表歉意。我是 Jersey/REST 新手。

最佳答案

虽然如前所述,通常建议您的 WS 调用是无状态的,但 Jersey 确实依赖于 Servlet,因此您可以注入(inject) HttpServletRequest 并从那里获取 session :

@GET
public String getMethod(@Context HttpServletRequest req) {
HttpSession session= req.getSession(true);
...

然后您可以将您的 Web 服务器 session 存储配置为内存、cookie、缓存、数据库或其他任何内容。

关于java - 在 Jersey REST 请求/响应之间存储变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17215426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com