【问题标题】:Set and Read/Retrieve cookie using javascript within a java file(.java)在 java 文件 (.java) 中使用 javascript 设置和读取/检索 cookie
【发布时间】:2010-02-02 23:15:28
【问题描述】:

让我重温一下。我正在使用 java 语言(不是 javascript)中的套接字编写一个新的 http-server,我想告诉客户端设置 cookie。我想在 javascript 中执行此操作(设置读取 cookie)。如果这不可能,还有其他解决方案吗? 谢谢大家。

【问题讨论】:

  • 请重新表述您的问题!!您是在编写新服务器还是只使用一个?你想要javascript还是java的代码?
  • 如果您使用 Java 编写服务器,而不是使用 JavaScript,那么处理 cookie 的 JavaScript 在哪里发挥作用?这是客户端 JavaScript 吗?如果是这样,它会使服务器完全不相关。

标签: java javascript http sockets cookies


【解决方案1】:

您的问题/要求非常模糊。您真的没有将JavaScriptJava 本身或JSP 混淆吗?或者您使用的是服务器端 JavaScript?为什么要为“http 服务器”这样做?为什么要编写 HTTP 服务器而不是使用现有的服务器,例如 Apache HTTP ServerApache Tomcat

至少,在 JavaScript 中,您可以通过 document.cookie 管理 cookie。在 Java 中,这取决于您在哪个上下文中交谈。如果在 Servlet 上下文中,请使用 HttpServletResponse#addcookie()HttpServletRequest#getCookies()。如果在 JSP EL 上下文中,请使用 ${cookie}。如果在 URL 流上下文中,请使用 URLConnection#addRequestProperty()URLConnection#getHeaderFields()。如果在“原始”套接字上下文中,只需遵守 HTTP 状态管理规范 RFC 2965 并间接遵守 HTTP 1.1 规范 RFC 2616,同时通过套接字写入“原始”数据。但您应该已经知道这一点,因为您打算创建一个 HTTP 服务器。

【讨论】:

    【解决方案2】:

    如果你正在编写自己的 HTTP 服务器,那么你应该可以直接设置 HTTP 标头:

    HTTP/1.1 200 OK
    Content-type: text/html
    Set-Cookie: name=value
    

    您也可以将 javascript 发送到浏览器来执行此操作(通过将您的脚本包含在您提供给客户端的 HTML 页面中),但我并没有真正看到这样做的好处。

    示例取自以下维基百科页面:

    http://en.wikipedia.org/wiki/HTTP_cookie

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多