java怎麼調用介面
『壹』 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介面
需要導入對應的lib包,然後調用具體的介面以及方法
通過實現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訂單參數x0dx0ax0dx0aSortedMap
『捌』 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標簽。