2014-12-07 33 views
0

對於所有HTTP請求(同步和異步),我希望我的Java servlet一致地向客戶端返回JSON。通過這種方式,我可以將所有演示邏輯推送到客戶端(html/css/js),並將HTML標記最小化。Java servlets在同步HTTP請求中返回JSON

我明白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> 

回答

0

它是一個很長一段時間我都基於java servlet的工作,但我想,如果您將響應對象中的MIME類型設置爲「application/json」,它應該可以工作。

我希望這篇文章對你有所幫助。

JSON response is returning as text