java 别人调用我的接口,然后返回一个状态值,我怎么得到对方返回的状态值?
- 用java怎么给其他公司提供一个接口,需要对方调用接口返回一个json格式的数据,求示例,非常感谢。
- 如何用java通过post的方式实现对一个网页接口传递参数并获取返回的值
- java 调用另一个类中的方法并取得返回值
- 怎么得到java串口数据的返回值,比如说返回一个string之类的
用java怎么给其他公司提供一个接口,需要对方调用接口返回一个json格式的数据,求示例,非常感谢。
可以借助一些框架啊。使用webService和struts2,。这俩搭配使用
如果不用框架,就自己写一个servlet吧,自己组装数据。
如何用java通过post的方式实现对一个网页接口传递参数并获取返回的值
方法1:使用HttpURLConnection
导入包:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.HttpURLConnection;
import java.ProtocolException;
import java.SocketTimeoutException;
import java.URL;主要代码(耗时操作一般另起线程,并处理异常):
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("");//这里放你的请求地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST"); //设置请求头,设置请求方式为POST
connection.setDoOutput(true);//允许写出
connection.setDoInput(true);//允许读入
connection.setUseCaches(false);//不使用缓存
connection.connect();//连接
//传递数据
String body = "userName=zhangsan&password=123456";//传递参数
//String body = "{userName:zhangsan,password:123456}";//传递json数据
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
writer.write(body);
writer.close();
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder result = new StringBuilder();//存储返回的数据
String line;
while((line = reader.readLine()) != null) {
result.append(line);
}
System.out.println(result.toString());
} catch (SocketTimeoutException timeExcep) {
//"请求服务器超时";
}catch (ProtocolException pe) {
//"获取资讯超时";
} catch (IOException e) {
//"服务器响应失败";
}
}
}).start();方法2:使用Jsoup(这个是第三方jar包,使用很方便)
导入所需包(Jsoup包自行查询下载):
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import .jsoup.Connection;
import .jsoup.Jsoup;例子(Post登陆):
public void login(String login_url, String username, String password) {
//传递数据
Map<String, String> dataMap = new HashMap<>();
dataMap.put("username", username);
dataMap.put("password", password);
//设置请求头(可选)
Map headerMap = new HashMap();
headerMap.put("Referer", login_url);
try {
Connection connLogin = Jsoup.connect(login_url);
connLogin.headers(headerMap);
//请求并返回响应体
Connection.Response response = connLogin
.method(Connection.Method.POST)//设置请求方法
.headers(headerMap)//设置请求头
.data(dataMap)//设置请求数据
.execute();//执行
//返回数据
System.out.println(response.parse().text());
} catch (IOException e) {
e.printStackTrace();
}
}
java 调用另一个类中的方法并取得返回值
比如我现在有一个Test类,另外有一个Student类,里面有个Speak方法。
那么,我如何调用Student类中的方法呢?
你要调用,首先你得保证这个方法的权限是public或者缺省。
1,得到Student类的实例:
Student stu = new Student();
2.调用
stu.speak();
完成!
一般就是这个思想,你用JDBC来操作的话,也应该多用面向对象的思维来做。
否则就会陷入逻辑的混乱,到最后害苦了自己。从结果来看,你应该是某个方法里面没有返回成功,建议DeBUG调试。
怎么得到java串口数据的返回值,比如说返回一个string之类的
你可以定义一个Map,把Map传入void的方法,在void方法里面put你要的内容。然后在转换你需要的数据类型。
Map m= new HashMap();
调用方法
void getInfo(){
...
M.put("name","小李");
}
m对象里面有你想要的内容。