繁体   English   中英

Java Servlet在同步HTTP请求中返回JSON

[英]Java servlets return JSON in synchronous HTTP requests

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

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

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

  1. Servlet将数据以JSON格式保存为请求属性,然后由JSP将其写入HTML文档 JSON存储在HTML文档的JavaScript变量中。
  2. 调度到jsp( “转发到视图” )。
  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 servlet已有很长时间了,但是我认为如果将响应对象中的MIME类型设置为“ application / json”,它应该可以工作。

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

JSON响应以文本形式返回

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM