对方定义的Web接口,接收JSON对象,返回也是JSON对象。
在编码过程中遇到了一点小问题,以下是完整代码。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import net.sf.json.JSONObject;
public class HttpPost {
private JSONObject Send(String urlStr, JSONObject jObj) throws IOException {
String retValue = null;
URL url = new URL(urlStr);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// 以Post方式发送
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
// 设置内容类型为文本或者html
con.setRequestProperty("Content-type", "text/html");
PrintWriter out = new PrintWriter(con.getOutputStream());
// 对方接口要求带[]符号
out.println("[" + jObj.toString() + "]");
out.flush();
out.close();
BufferedReader l_reader = new BufferedReader(new InputStreamReader(
con.getInputStream()));
StringBuffer buff = new StringBuffer();
String line;
while ((line = l_reader.readLine()) != null) {
buff.append(line + "\n");
}
l_reader.close();
con.disconnect();
retValue = buff.toString();
if (retValue.length() > 2) {
retValue = retValue.substring(1, retValue.length() - 2);
return JSONObject.fromObject(retValue);
} else
return null;
}
public static void main(String[] args) throws IOException {
HttpPost hp = new HttpPost();
JSONObject jUser = new JSONObject();
jUser.put("userName", "njupt");
JSONObject jUserAcs = new JSONObject();
jUserAcs.put("UserAccess", jUser);
System.out
.println(hp
.Send("http://ip:port/smartHome/mobile/UserAccess.action",
jUserAcs));
}
}
JSON用到的jar包可以从这里下载:http://134.iteye.com/blog/231782
推荐一个http抓包工具HTTP Analyzer:http://www.ieinspector.com/httpanalyzer/download.html
用它来分析发送和接收的内容,之前一直调试不通过,因为request的contenttype不是text/html,是使用该抓包工具发现的。
以上
wuxiaochao@live.com
分享到:
相关推荐
Praise for the Third Edition of Spring in Action Preface Acknowledgments About this Book 1. Core Spring Chapter 1. Springing into action 1.1. Simplifying Java development 1.1.1. Unleashing the power ...
同加载struts方式类似,选择Myeclipse后在弹出的二级菜单中选择Add spring in action in action Capabilities…后提示如下图所示: 选择所需要的spring in action in action包,然后默认下一步,直到完成。 到此...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 119 84.12. 请写一个java程序实现线程连接池功能? 122 84.13. 编一段代码,实现在控制台输入一组数字后,排序后在控制台输出; 122 ...
<form action="regesiterAction.jsp" method="post"> 用户名("username")%>" /> 密码("password")%>" name="password" /> 手机号: ("username")%>" /> <input type="hidden" name="action" value=...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
form action="regesiterAction.jsp" method="post"> 用户名<input name="username" value="<%=obj.getString("username")%>" /> 密码<input type="password" value="<%=obj.getString("password...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
以Action结尾,如:UserAction 二、 业务类 1.接口: 以I开头,以Manager结尾,如:IUserManager 2.实现类 以Manager结尾,如:UserManager 三、 组件类 以Component结尾,如:ShopEmailComponent 四、 挂件类 以...
4、编程用JAVA解析XML的方式. 125 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 127 七. 流行的框架与新技术 128 1、谈谈你对Struts的理解。 128 2、谈谈你对Hibernate的理解。 128 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...
4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 ...
reCAPTCHA Spring Boot入门 要使用启动程序,您将需要一个reCAPTCHA站点密钥和一个秘密密钥。 要获取它们,请转到并设置您的reCAPTCHA。... form action =" / " method =" post " > < div class