版权声明:本文为博主原创文章,未经博主同意不得转载。
https://blog.****.net/tianyazaiheruan/article/details/37659983
规范性接口开发中。一般数据是以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.****.net/yangkai_hudong