1. 首页 > 科技

java 别人调用我的接口,然后返回一个状态值,我怎么得到对方返回的状态值?

java 别人调用我的接口,然后返回一个状态值,我怎么得到对方返回的状态值?

用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对象里面有你想要的内容。