【问题标题】:Can we read cookies using core-java that has been written using .NET MVC code?我们可以使用使用 .NET MVC 代码编写的 core-java 读取 cookie 吗?
【发布时间】:2012-01-11 09:42:24
【问题描述】:

我们可以使用 core-java 读取 cookie,它是使用 .NET MVC 代码编写的吗?我没有找到任何帮助如何使用核心 Java 代码读取 cookie?

更多背景细节 -

实际上,我们有一个 java 桌面应用程序,我们正计划使用 JWS 启动该 java 桌面应用程序,它工作得非常好。

问题是——我们在网页上向用户询问一些与用户相关的信息,然后使用 JWS 启动 Java 桌面应用程序。现在我们希望用户在我们的 java 应用程序的网页上提供这些信息。

我们已将该信息写入 cookie,我们如何从 java 代码中读取该信息?

【问题讨论】:

    标签: java cookies session-cookies java-web-start


    【解决方案1】:

    核心-java?然后尝试 java.net.*: cookie 只是在 URL 内容之前带有“Set-Cookie:”的标题行。

    http://www.hccp.org/java-net-cookie-how-to.html

    【讨论】:

    • 我已经编辑了我原来的问题。使用您的建议,我还能读取 cookie 吗?
    • 服务器可以使用第一个答案中的getCookies。在 java webstart 应用程序中,您可以使用我指出的代码。您不能使用浏览器的 cookie,因为与您的 jws 应用程序、浏览器和服务器 url 没有安全关系。您可以考虑使用 apache 类 HttpClient。
    【解决方案2】:

    是的,您可以接收其他应用程序设置的 cookie(只要 cookie 中的路径值匹配)。 Cookie 是 HTTP 协议的一部分,它是如何定义的并不重要。客户端根据 URL 路径在以后的请求中发送它们。

    要在 Java 中访问 c​​ookie,请查看 HttpServletRequest 中的 getCookies()

    更新

    启动 Java 客户端的 Web 应用程序设置的 cookie 将在浏览器客户端的上下文中设置。 Cookie 被添加到 HTTP 响应中并由接收它们的客户端缓存。

    在您描述的情况下,您无法从 Java 客户端访问相同的服务器会话而无需欺骗。

    我将使用的解决方案是在 Web 应用程序中生成一个唯一 ID,该 ID 作为参数传递给 Java 客户端,Java 客户端反过来可以使用生成的 ID 获取 URL 来请求其他会话所需的值作为参数。 (这实质上将两个 HTTP 会话连接为同一个用户进程的一部分。)

    例如,您可以使用 HttpURLConnection 和类似 <web-app>/data?id=<ID> 的 URL 从您的 Web 应用程序中以 XML 格式获取/下载值。

    【讨论】:

    • 我已经编辑了我原来的问题。使用您的建议,我还能读取 cookie 吗?
    • 非常非常感谢。似乎我非常接近解决方案,但我发现难以理解您在上一段中的建议。我知道只有唯一 ID 才会作为参数传递给 java 客户端。如何使用该唯一 ID 请求值?你能补充一些细节吗?我不完全了解如何连接和获取详细信息?
    猜你喜欢
    • 1970-01-01
    • 2017-02-15
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2017-09-02
    相关资源
    最近更新 更多