當前位置:首頁 » 編程語言 » java怎麼調用介面

java怎麼調用介面

發布時間: 2023-03-29 01:48:18

『壹』 java調用c++介面

pre{overflow-x: auto} 1、編寫Java程序:HelloWorld

代碼如下:
package HelloWorld; public class HelloWorld {    public native void sayHello();       public static void main(String[] args) {     System.loadLibrary("Win32Project1");     HelloWorld tNative = new HelloWorld();     tNative.sayHello();    } }
2、Windows環境下,在cmd中編譯以上程序

編譯通過後,使用 javah -jni HelloWorld.HelloWorld命尺游搭令,在src文件夾下生成HelloWorld_HelloWorld.h文件(注意,此處兩個HelloWorld,前一個指包陵拿名,後一個指類名)。

在執行完這一步後,能夠看到HelloWorld.java、HelloWorld.class、HelloWorld_HelloWorld.h這三個文件是位於同一個src文件夾下的,如下圖所示(注意,此處的src文件夾是在eclipse中創建HelloWorld這個java project時自動生成的,並非手動創建的):

3、編寫C++程序

打開Visual Studio 2013,執行「文件—>新建—>項目—>Visual C++—>Win32 項目—>確定—>下一步–>選擇DLL(D)–>完成」。

注意,設置好項目名稱以及項磨鉛目文件所在的位置,如下圖標紅處所示:

創建好項目之後,將之前生成的HelloWorld_HelloWorld.h頭文件添加到項目的「頭文件」中,並在源文件中添加helloworld.cpp這一文件,如下圖所示:

接下來,在helloworld.cpp文件中輸入以下代碼: // helloworld.cpp : 定義DLL應用程序的導出函數。 // #include "stdafx.h" #include "HelloWorld_HelloWorld.h" #include using namespace std; JNIEXPORT void JNICALL Java_HelloWorld_HelloWorld_sayHello(JNIEnv *, jobject) {     cout 

『貳』 JAVA怎麼調用介面

String sendPost(String jsonStr, String path)x0dx0a throws IOException {x0dx0a byte[] data = jsonStr.getBytes();x0dx0a java.net.URL url = new java.net.URL(path);x0dx0a java.net.HttpURLConnection conn = x0dx0a (java.net.HttpURLConnection) url.openConnection();x0dx0a conn.setRequestMethod("POST");x0dx0a conn.setConnectTimeout(5 * 1000);// 設置連接超時時間為5秒 x0dx0a conn.setReadTimeout(20 * 1000);// 設置讀取超時時間為20秒 x0dx0a // 使用 URL 連接進行輸出,則將 DoOutput標志設置為 truex0dx0a conn.setDoOutput(true);x0dx0a x0dx0a conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");x0dx0a //conn.setRequestProperty("Content-Encoding","gzip");x0dx0a conn.setRequestProperty("Content-Length", String.valueOf(data.length));x0dx0a OutputStream outStream = conn.getOutputStream();// 返回寫入到此連接的輸出流x0dx0a outStream.write(data);x0dx0a outStream.close();//關閉流x0dx0a String msg = "";// 保存調用http服務後的響應信息x0dx0a // 如果請求響應碼是200,則表示成功x0dx0a if (conn.getResponseCode() == 200) {x0dx0a // HTTP服務端返回的編碼是UTF-8,故必須設置為UTF-8,保持編碼統一,否則會出現中文亂碼x0dx0a BufferedReader in = new BufferedReader(new InputStreamReader(x0dx0a (InputStream) conn.getInputStream(), "UTF-8"));x0dx0a msg = in.readLine();x0dx0a in.close();x0dx0a }x0dx0a conn.disconnect();// 斷開連接x0dx0a return msg;x0dx0a }

『叄』 java如何調用webservice介面

Java通過WSDL文件來調用webservice直接調用模式如下:

import java.util.Date;

import java.text.DateFormat;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

import javax.xml.namespace.QName;

import java.lang.Integer;

import javax.xml.rpc.ParameterMode;

public class caClient {

public static void main(String[] args) {

try {

String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";

//直接引用遠程的wsdl文件

//以下臘圓都是套路譽州

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);

call.setOperationName("addUser");//WSDL裡面描述的介面名稱

call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,

javax.xml.rpc.ParameterMode.IN);//介面的參數

call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//設置返回類型

String temp = "測試人員";

String result = (String)call.invoke(new Object[]{temp});

//給方法傳遞參數,並且調慶局蔽用方法

System.out.println("result is "+result);

}

catch (Exception e) {

System.err.println(e.toString());

}

}

}

『肆』 如何在java中調用api介面

  1. 需要導入對應的lib包,然後調用具體的介面以及方法

  2. 通過實現http協議進行post或者get請求具體api介面

『伍』 java調用asmx介面

很多朋友都想知道java asmx是什麼?如何調用asmx介面?下面就一起來了解一下吧~

webservice的.asmx是一個平台獨立的,低耦合的、基於可編程的web的應用程序,可使用開放的XML(標准通用標記語言下的一個子集)更加標准來描述、發布、發現、協調和配置這些應用程序,用於開發分布式的交互操作的應用程序。

.asmx是webservice服務程序的後綴名,ASP.NET 使用.asmx 文件來對Web Services的支持。.asmx 文件和.aspx文件一樣都屬於文本文件。它包含在.aspx文件之中,成為ASP.NET應用程序的一部分。
                    commons-httpclient            commons-httpclient   搭漏         3.1

工具類
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.SimpleHttpConnectionManager; import org.apache.commons.httpclient.methods.PostMethod;   import java.io.IOException; import java.util.Map;   public class SoapUtil {         public static String callSoap(String url,String method, Map paramMap) throws IOException {         // 輸入服務網址         HttpClient client = new HttpClient();         PostMethod post = new PostMethod(url+"/"+method);         // 設置參數         if (paramMap != null) {             for (Map.Entry item : paramMap.entrySet()) {                 String key = item.getKey();                 String value = item.getValue();                 System.out.println(key + ":" + value);                 post.setParameter(key, value);             }         }         // client.setTimeout(newTimeoutInMilliseconds);           // 執行,返回一個結果碼         int code = client.executeMethod(post);           System.out.println("結果碼:" + code);         // 獲取xml結果         String result = post.getResponseBodyAsString();         System.out.println("結果:" + result);         // 釋放連接         post.releaseConnection();         // 關知銷爛閉連接     斗衫    ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();         return result;     }   }
調用 public static void main(String[] args) throws Exception {             Map paramMap = new HashMap();     paramMap.put("id", "10086");     paramMap.put("name", "老李");       SoapUtil.callSoap("http://120.79.xxx.xxx:1234/aaaa.asmx", "調用的方法", paramMap);   }

『陸』 java怎麼調用別人給的介面

1、調用WebService,對方給出WebService地址,可以用Axis生成對WebService的調用代碼進行調用
2、對方提供介面文檔和傳輸方式,根據介面文檔調用。
Java介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。
兩種含義:一,Java介面,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特徵集合,是一種邏輯上的抽象。前者叫做「Java介面」,後者叫做「介面」。

『柒』 怎麼用java調用微信支付介面

java調用微信支付介面方法:x0d=newRequestHandler(super.getRequest(),super.getResponse());x0dx0ax0dx0a//獲取備昌token//兩小時內有效,兩小時後重新獲取x0dx0ax0dx0aToken=requestHandler.GetToken();x0dx0ax0dx0a//更新token到應用中x0dx0ax0dx0arequestHandler.getTokenReal();x0dx0ax0dx0aSystem.out.println("微信支付獲取token=======================:"+Token);x0dx0ax0dx0ax0dx0ax0dx0a//requestHandler初始化x0dx0ax0dx0arequestHandler.init();x0dx0ax0dx0arequestHandler.init(appid,appsecret,appkey,partnerkey,key);x0dx0ax0dx0ax0dx0ax0dx0a//--------------------------------本地系統生成訂單-------------------------------------x0dx0ax0dx0a//設置package訂單參數x0dx0ax0dx0aSortedMappackageParams=newTreeMap();x0dx0ax0dx0apackageParams.put("bank_type","WX");//支付類型x0dx0ax0dx0apackageParams.put("body","xxxx");//商品描述x0dx0ax0dx0apackageParams.put("fee_type","1");//銀行幣種x0dx0ax0dx0apackageParams.put("input_charset","UTF-8");//字元集x0dx0ax0dx0apackageParams.put("notify_url","http://xxxx.com/xxxx/wxcallback");//通知則友地址這里的通知地址使用外網地址測試,注意80埠是否仿盯扒打開。x0dx0ax0dx0apackageParams.put("out_trade_no",no);//商戶訂單號x0dx0ax0dx0apackageParams.put("partner",partenerid);//設置商戶號x0dx0ax0dx0apackageParams.put("spbill_create_ip",super.getRequest().getRemoteHost());//訂單生成的機器IP,指用戶瀏覽器端IPx0dx0ax0dx0apackageParams.put("total_fee",String.valueOf(rstotal));//商品總金額,以分為單位x0dx0ax0dx0ax0dx0ax0dx0a//設置支付參數x0dx0ax0dx0aSortedMapsignParams=newTreeMap();x0dx0ax0dx0asignParams.put("appid",appid);x0dx0ax0dx0asignParams.put("noncestr",noncestr);x0dx0ax0dx0asignParams.put("traceid",PropertiesUtils.getOrderNO());x0dx0ax0dx0asignParams.put("timestamp",timestamp);x0dx0ax0dx0asignParams.put("package",packageValue);x0dx0ax0dx0asignParams.put("appkey",this.appkey);x0dx0ax0dx0ax0dx0ax0dx0a//生成支付簽名,要採用URLENCODER的原始值進行SHA1演算法!x0dx0ax0dx0aStringsign="";x0dx0ax0dx0atry{x0dx0ax0dx0asign=Sha1Util.createSHA1Sign(signParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0ax0dx0ax0dx0a//增加非參與簽名的額外參數x0dx0ax0dx0asignParams.put("sign_method","sha1");x0dx0ax0dx0asignParams.put("app_signature",sign);//api支付拼包結束------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//獲取=requestHandler.sendPrepay(signParams);x0dx0ax0dx0aSystem.out.println("prepayid:"+prepayid);x0dx0ax0dx0a//--------------------------------生成完成---------------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//生成預付快訂單完成,返回給android,ios掉起微信所需要的參數。x0dx0ax0dx0aSortedMappayParams=newTreeMap();x0dx0ax0dx0apayParams.put("appid",appid);x0dx0ax0dx0apayParams.put("noncestr",noncestr);x0dx0ax0dx0apayParams.put("package","Sign=WXPay");x0dx0ax0dx0apayParams.put("partnerid",partenerid);x0dx0ax0dx0apayParams.put("prepayid",prepayid);x0dx0ax0dx0apayParams.put("appkey",this.appkey);x0dx0ax0dx0a//這里除1000是因為參數長度限制。x0dx0ax0dx0ainttime=(int)(System.currentTimeMillis()/1000);x0dx0ax0dx0apayParams.put("timestamp",String.valueOf(time));.out.println("timestamp:"+time);x0dx0ax0dx0ax0dx0ax0dx0a//簽名x0dx0ax0dx0aStringpaysign="";x0dx0ax0dx0atry{x0dx0ax0dx0apaysign=Sha1Util.createSHA1Sign(payParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0apayParams.put("sign",paysign);x0dx0ax0dx0ax0dx0ax0dx0a//拼json數據返回給客戶端=newBasicDBObject();x0dx0ax0dx0abackObject.put("appid",appid);x0dx0ax0dx0abackObject.put("noncestr",payParams.get("noncestr"));x0dx0ax0dx0abackObject.put("package","Sign=WXPay");x0dx0ax0dx0abackObject.put("partnerid",payParams.get("partnerid"));x0dx0ax0dx0abackObject.put("prepayid",payParams.get("prepayid"));x0dx0ax0dx0abackObject.put("appkey",this.appkey);x0dx0ax0dx0abackObject.put("timestamp",payParams.get("timestamp"));x0dx0ax0dx0abackObject.put("sign",payParams.get("sign"));=dataObject.toString();x0dx0ax0dx0aSystem.out.println("backstr:"+backstr);;x0dx0ax0dx0ax0dx0ax0dx0a====================到此為止,預付款訂單已生成,並且已返回客戶端====================x0dx0ax0dx0ax0dx0ax0dx0a//坐等微信伺服器通知,通知的地址就是生成預付款訂單的notify_=newResponseHandler(request,response);x0dx0ax0dx0aresHandler.setKey(partnerkey);x0dx0ax0dx0a//創建請求對象x0dx0ax0dx0a//RequestHandlerqueryReq=newRequestHandler(request,response);x0dx0ax0dx0a//queryReq.init();x0dx0ax0dx0aif(resHandler.isTenpaySign()==true){x0dx0ax0dx0a//商戶訂單號x0dx0ax0dx0aStringout_trade_no=resHandler.getParameter("out_trade_no");x0dx0ax0dx0aSystem.out.println("out_trade_no:"+out_trade_no);x0dx0ax0dx0a//財付通訂單號x0dx0ax0dx0aStringtransaction_id=resHandler.getParameter("transaction_id");x0dx0ax0dx0aSystem.out.println("transaction_id:"+transaction_id);x0dx0ax0dx0a//金額,以分為單位x0dx0ax0dx0aStringtotal_fee=resHandler.getParameter("total_fee");x0dx0ax0dx0a//如果有使用折扣券,discount有值,total_fee+discount=原請求的total_feex0dx0ax0dx0aStringdiscount=resHandler.getParameter("discount");x0dx0ax0dx0a//支付結果x0dx0ax0dx0aStringtrade_state=resHandler.getParameter("trade_state");x0dx0ax0dx0ax0dx0ax0dx0a//判斷簽名及結果x0dx0ax0dx0aif("0".equals(trade_state)){x0dx0ax0dx0a//------------------------------x0dx0ax0dx0a//即時到賬處理業務開始x0dx0ax0dx0a//------------------------------.out.println("----------------業務邏輯執行-----------------");x0dx0ax0dx0ax0dx0ax0dx0a//——請根據您的業務邏輯來編寫程序(以上代碼僅作參考)——x0dx0ax0dx0aSystem.out.println("----------------業務邏輯執行完畢-----------------");x0dx0ax0dx0aSystem.out.println("success");//請不要修改或刪除.out.println("即時到賬支付成功");x0dx0ax0dx0a//給財付通系統發送成功信息,財付通系統收到此結果後不再進行後續通知x0dx0ax0dx0aresHandler.sendToCFT("success");x0dx0ax0dx0ax0dx0ax0dx0a//給微信伺服器返回success否則30分鍾通知8次x0dx0ax0dx0areturn"success";x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("通知簽名驗證失敗");x0dx0ax0dx0aresHandler.sendToCFT("fail");x0dx0ax0dx0aresponse.setCharacterEncoding("utf-8");x0dx0ax0dx0a}x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("fail-Md5failed");

『捌』 java寫的介面怎麼調用

訪問形式如下例子:

//介面
publicinterfaceLoggerUtil{

//得到Logger,用於列印日誌
Loggerlogger=Logger.getLogger(LoggerUtil.class);
}

@RequestMapping("/delete.do")
publicStringdelete(Studentsstudents){

try{
stuService.delete(students);
}catch(Exceptione){

//介面的調用方式(直接調用)
LoggerUtil.logger.error(e.getMessage());
}
return"redirect:selectAll.do";
}

『玖』 Java常說的介面調用,是怎麼調用別人的介面

介面是用來實現的
關鍵字 implements
class A inplements B,C{}
介面可以實現多個
實現了介面之後相當於繼承一個抽象類的意思
因為介面中只有靜態方法和常量 所以必須實現介面里的所有方法
你所謂的介面調用是調用介面的實現類
也就是java 多態性襪慎虛的體現 向上造型孝穗
就是父類的引用指向子類的對象
然後引用調用子類重寫的 父類方告燃法
基本就是這么個意思,打了這么多基礎知識 不採納就說不過去了

『拾』 java如何調用介面方式

計算機語言分類有很多,如C、C++、C#、Java、Php、Python等等,她們有各自的特性及擅長的領域,但她們各自又不是全能的。在一個稍微大型一點的項目都會用到多種語言共同完成,那麼這些編程語言如何進行通信呢。什麼意思呢,就是比如說我Java寫的一個方法,其他編程語言要怎麼去調用呢?這就是本文要探討的問題了。
一般來說,方法層面的編程語言通信用的是網路介面形式,只暴露出形參和結果供別人調用。介面一般分為介面定義者和介面調用者,定義者可以規定接收參數的類型及返回形式,而介面定義者則只能完全按照介面定義者規定的參數進行訪問。就叫是我們所說的webService(網路服務)。
以前的做法是利用XML作介面格式定義,然後通過Http做通訊和請求,如大名鼎鼎的SOAP,其實現在也是的,只不過現在流行RestFul風格的Rest介面形式,但用的還是XML+HTTP,那這兩者有啥區別呢?最大的區別就是SOAP返回的主要是XML格式,有時還需要附帶一些輔助文件,而Rest則還可以返回JSON類型的字元串,減少了很多繁亂的XML標簽。

熱點內容
ip地址請求遠程伺服器地址 發布:2024-11-03 00:26:01 瀏覽:965
android平板系統 發布:2024-11-03 00:20:43 瀏覽:663
malody譜面伺服器地址是什麼 發布:2024-11-03 00:19:13 瀏覽:170
cifslinux 發布:2024-11-02 23:56:04 瀏覽:311
java培訓去哪好 發布:2024-11-02 23:53:57 瀏覽:861
入手安卓二手機如何檢測 發布:2024-11-02 23:47:21 瀏覽:568
超短發編程 發布:2024-11-02 23:38:48 瀏覽:132
熊片資料庫邀請碼 發布:2024-11-02 23:31:39 瀏覽:762
大連dns伺服器ip 發布:2024-11-02 23:29:44 瀏覽:796
linuxsed文件內容 發布:2024-11-02 23:15:41 瀏覽:258