【问题标题】:Java servlets return JSON in synchronous HTTP requestsJava servlet 在同步 HTTP 请求中返回 JSON
【发布时间】:2015-02-04 23:48:26
【问题描述】:

对于所有 HTTP 请求(同步和异步),我希望我的 Java servlet 将 JSON 一致地返回到客户端。通过这种方式,我可以将我所有的表示逻辑推送到客户端(html/css/js)并最小化我的 HTML 上的 JSP 标签。

我了解 servlet 如何处理 Ajax 请求。但我不确定在 同步 请求中返回 JSON 的最佳技术是什么。所以我做了一个 servlet 如何在 HTML 中嵌入 JSON 的工作示例。

以下方法有缺点吗?如何改进这种方法?

  1. Servlet 将 JSON 格式的数据保存为请求属性, 然后将是written to the HTML document by JSP。 JSON存储在 HTML 文档上的 JavaScript 变量。
  2. 分派到 jsp (“forwarding to a view”)。
  3. 自定义 JavaScript 从 HTML 文档中嵌入的 JSON 中获取数据并显示出来。

工作示例

Servlet(在 doGet 方法体中)

req.setAttribute("json", gson.toJson(article));
RequestDispatcher view = req.getRequestDispatcher("/WEB-INF/show.jsp");
view.forward(req, resp);

JSP

<script>
    var json = ${json};
    alert(JSON.stringify(json));
</script>

【问题讨论】:

    标签: java json jsp servlets


    【解决方案1】:

    我从事 java servlet 工作已经很长时间了,但我认为如果将响应对象中的 MIME 类型设置为“application/json”,它应该可以工作。

    希望这篇文章对你有所帮助。

    JSON response is returning as text

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 2023-04-09
      • 2021-07-27
      相关资源
      最近更新 更多