在httpResponse的主体中设置一个字符串



我需要帮助。在我目前的开发中,其中一个需求是:

服务器将返回200-OK作为响应(httpresponse)

如果小组成员被验证,那么作为结果,服务器也必须返回该小组成员的小组成员id。

服务器将在200-OK的正文中放置面板成员id以下列方式回应:

<tdcp>
<cmd>
   <ack cmd=”Init”>
      <panelistid>3849303</panelistid>
   </ack>
</cmd>

现在我可以把httpresponse作为
httpServletResponse.setStatus(HttpServletResponse.SC_OK);

我可以把

String responseToClient= "<tdcp><cmd><ack cmd=”Init”><panelistid>3849303</panelistid></ack></cmd></tdcp>";

现在把上面的xml放在200-OK响应的正文中意味着什么,如何实现?

您可以将XML直接写入响应,如下所示:

这个例子使用一个ServletResponse.getWriter(),它是一个PrintWriter来写一个字符串到响应。

String responseToClient= "<tdcp><cmd><ack cmd=”Init”><panelistid>3849303</panelistid></ack></cmd></tdcp>";
httpServletResponse.setStatus(HttpServletResponse.SC_OK);
httpServletResponse.getWriter().write(responseToClient);
httpServletResponse.getWriter().flush();

您只需要获取servlet响应的输出流(或输出写入器),并对其进行写入。详见ServletResponse.getOutputStream()ServletResponse.getWriter()

(或者只是阅读servlet教程—如果不能在响应体中包含数据,servlet将非常无用:)

如果这意味着XML, Word已经把属性引号符号更改为而不是"

如果您想使用Java生成XML,那么有必要研究一下JAXP。使用<等来编写字符串将无法缩放,并且您将遇到非ascii字符编码的问题。

  1. 您可以使用库或内置功能在响应中发送XML内容之前正确转义XML内容。这可以确保任何潜在的有害字符都被正确编码。
  2. 您还可以避免直接连接用户输入以形成XML响应,因为这可能导致注入攻击。

相关内容

最新更新