兩種介面傳送資料協議(xml和json)
規範性介面開發中,一般資料是以json或者xml的格式傳送的,而不是字串的形式直接返回給介面呼叫者;下面介紹這兩種格式的編寫方法。
下面兩種資料傳送方式是介面輸出端的編寫。需引入的包如下:
<span style="font-family:KaiTi_GB2312;font-size:18px;">importjava.io.PrintWriter;
importjava.io.StringWriter;
importjavax.servlet.http.HttpServletResponse;
importorg.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;</span>
1.傳送 XML 協議的格式資料
<span style="font-family:KaiTi_GB2312;font-size:18px;"> /**
* xml 格式資料
*
* @param response
* @param doc
*/
publicstaticvoidoutDocToXML(HttpServletResponse response, Document doc) {
// 以下程式碼請注意編碼順序
response.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter out = null;
StringWriter writer = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint(); //
format.setEncoding("UTF-8");
XMLWriter xmlwriter = new XMLWriter(writer,format);
try {
out = response.getWriter();
xmlwriter.write(doc);
} catch (Exception e) {
e.printStackTrace();
}
out.print(writer.toString());
out.close();
}</span>
2.傳送 json 協議的格式資料
<span style="font-family:KaiTi_GB2312;font-size:18px;">/**
* json 資料格式
*
* @param response
* @param data
* @param type
*/
protectedvoidsendData(HttpServletResponse response, Object data) {
if (data != null) {
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter out = null;
try {
out = response.getWriter();
out.print(data);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}</span>
轉正請指明出處:blog.csdn.net/yangkai_hudong
相關文章
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,json,xml,txt資料JavaHTTPclient協議JSONXML
- Java入門:UDP協議傳送/接收資料實現JavaUDP協議
- Java入門:TCP協議傳送/接收資料實現JavaTCP協議
- UDP 和 TCP 兩種協議簡介UDPTCP協議
- 利用ASP傳送和接收XML資料的處理方法XML
- 使用XML HTTP傳送超長XML表單資料(轉)XMLHTTP
- ABAP和XML資料格式互相轉換的兩種方式XML
- RVP:存在和即時訊息傳送協議 (3) (轉)協議
- RVP:存在和即時訊息傳送協議 (2) (轉)協議
- Java http協議呼叫介面返回json字串JavaHTTP協議JSON字串
- 兩種go傳送郵件的方式Go
- jmeter之傳送json資料的post請求JMeterJSON
- 【轉載】SAP中用json資料格式呼叫http介面傳送簡訊郵件案例JSONHTTP
- 4種傳輸協議設定,檔案傳輸協議如何選擇?協議
- SMTP協議解讀以及如何使用SMTP協議傳送電子郵件協議
- WebApi介面 - 響應輸出xml和jsonWebAPIXMLJSON
- PHP傳送和接收POST資料PHP
- 傳送JSON資料到伺服器JSON伺服器
- SAML和OAuth2這兩種SSO協議的區別OAuth協議
- json_encode的資料格式化的兩種格式[]和{}JSON
- 網路協議之:基於UDP的高速資料傳輸協議UDT協議UDP
- XML解析的兩種方式DOM和SAXXML
- 資料庫映象和日誌傳送資料庫
- 【測試】echo傳送和接收TCP/UDP資料包|shell 傳送TCP/UDP資料包TCPUDP
- WebRTC:資料傳輸相關協議簡介Web協議
- DDTP 分散式資料傳輸協議白皮書分散式協議
- Socket開發框架之資料傳輸協議框架協議
- Python資料處理(一):處理 JSON、XML、CSV 三種格式資料PythonJSONXML
- 如何在 PHP 中傳送 xml 資料作為請求內容PHPXML
- 電子郵件協議及GO傳送QQ郵件協議Go
- 一次郵件傳送協議SMTP問題排查協議
- 傳輸層協議 TCP 和 UDP協議TCPUDP
- netstat -s命令 引數 列出各種網路協議的統計資料,包括接收和傳送的資料包數量、錯誤資訊、連線狀態等協議
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,jsoJavaHTTPclient協議JS
- Python中兩種網路程式設計方式:Socket和HTTP協議Python程式設計HTTP協議
- 【傳輸協議】http協議GET與POST傳遞資料的最大長度能夠達到多少協議HTTP
- 串列埠通訊上位機資料傳輸協議串列埠協議
- 各種協議協議