在 httpResponse 的正文中设置字符串

问题描述 投票:0回答:3

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

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

如果小组成员经过验证,服务器还必须 返回该小组成员的小组成员 ID。

服务器会将小组成员 ID 放入 200-OK 的正文中 按以下方式回复:

<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 响应正文中意味着什么以及如何实现?

java servlets
3个回答
102
投票

您可以将 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();

13
投票

您只需获取 servlet 响应的输出流(或输出编写器),然后写入即可。请参阅

ServletResponse.getOutputStream()
ServletResponse.getWriter()
了解更多详情。

(或者简单地阅读任何 Servlet 教程 - 如果无法在响应主体中包含数据,Servlet 将毫无用处:)


1
投票

如果这意味着 XML,Word 已经通过将属性引号符号更改为

而不是
"
来破坏你的东西。

如果您想使用 Java 生成 XML,值得一看 JAXP。在其中写入带有

<
等的字符串将无法扩展,并且您会遇到非 ASCII 字符编码的问题。

© www.soinside.com 2019 - 2024. All rights reserved.