導航:首頁 > 編程語言 > java調用外部系統介面

java調用外部系統介面

發布時間:2023-03-28 05:34:48

java如何向外提供介面

其實,就是要你提來供一個jsP、自action或servlet路徑,在這路徑後台中,你接收他傳過來的一系列參數,處理後,輸出結果(json)。

比如,你寫一個test.jsp如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%
out.println("{"code":"1212","name":"user-1","age":"22"}");
%>

然後http://localhost/test.jsp就是提供給他的介面地址,此時如果他訪問,得到的結果應該是:

{"code":"1212","name":"user-1","age":"22"}

至於out.println的輸出結果,應該是你要提供給他的數據。

② java遠程調用介面的原理和範例,謝謝

Java 遠程處理
Java遠程方法調用(RMI)提供了Java程序語言的遠程通訊功能,這種特性使客戶機上運行的程序可以調用遠程伺服器上的對象,使Java編程人員能夠在網路環境中分布操作。
創建一個簡單的Java分布式遠程方法調用程序可以按以下幾個步驟操作,

一、定義遠程介面:
在 Java 中,遠程對象是實現遠程介面的類的實例, 遠程介面聲明每個要遠程調用的方法。在需要創建一個遠程對象的時候,我們通過傳遞一個介面來隱藏基層的實施細節,客戶通過介面句柄發送消息即可。
遠程介面具有如下特點:
1) 遠程介面必須為public屬性。如果不這樣,除非客戶端與遠程介面在同一個包內,否則 當試圖裝入實現該遠程介面的遠程對象時,調用會得到錯誤結果。
2) 遠程介面必須擴展介面java.rmi.Remote。
3) 除與應用程序本身特定的例外之外,遠程介面中的每個方法都必須在自己的throws從句中 聲明java.rmi.RemoteException。(或 RemoteException 的父類)。
4) 作為參數或返回值傳遞的一個遠程對象(不管是直接,還是本地對象中嵌入)必須聲明為遠 程介面,而不應聲明為實施類。

下面是遠程介面的定義

[java] view plain
package test;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.math.BigInteger;

public interface Fib extends Remote {
public int getFib(int n) throws RemoteException;
// public BigInteger getFib(BigInteger n) throws RemoteException;
}

二、實現遠程介面:
遠程對象實現類必須擴展遠程對象java.rmi.UnicastRemoteObject類,並實現所定義的遠程介面。遠程對象的實現類中包含實現每個遠程介面所指定的遠程方法的代碼。這個類也可以含有附加的方法,但客戶只能使用遠程介面中的方法。因為客戶是指向介面的一個句柄,而不是它的哪個類。必須為遠程對象定義構造函數,即使只准備定義一個默認構造函數,用它調用基礎類構造函數。因為基礎類構造函數可能會拋出 java.rmi.RemoteException,所以即使別無它用必須拋出java.rmi.RemoteException例外。
以下是遠程對象實現類的聲明:

[java] view plain
package test;
import java.math.BigInteger;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class FibImp extends UnicastRemoteObject implements Fib {
public FibImp() throws RemoteException {
super();
}

public int getFib(int n) throws RemoteException {
return n+2;
}

}

三、編寫伺服器類:
包含 main 方法的類可以是實現類自身,也可以完全是另一個類。下面通過RmiSampleServer 來創建一個遠程對象的實例,並通過java.rmi.registry.LocateRegistry類的createRegistry 方法從指定埠號啟動注冊服務程序,也可以通過執行 rmiregistry 命令啟動注冊服務程序,注冊服務程序的預設運行埠為 1099。必須將遠程對象名字綁定到對遠程對象的引用上: Naming.rebind("//localhost:8808/SAMPLE-SERVER" , Server);
以下是伺服器類的聲明:

[java] view plain
package test;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
public class FibonacciServer {
/**
* @param args
*/
public static void main(String[] args) {
try {
LocateRegistry.createRegistry(8804);
FibImp f = new FibImp();

// 注冊到 registry 中
Naming.rebind("//localhost:8804/SAMPLE-SERVER", f);
System.out.println("fib server ready");

} catch (RemoteException re) {
System.out.println("Exception in FibonacciImpl.main: " + re);
} catch (MalformedURLException e) {
System.out.println("MalformedURLException " + e);
}
}
}

四、編寫使用遠程服務的客戶機類:
客戶機類的主要功能有兩個,一是通過Naming.lookup方法來構造注冊服務程序 stub 程序實例,二是調用伺服器遠程對象上的遠程方法。
以下是客戶端類的聲明:

[java] view plain
package testClient;

import test.Fib;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
public class FibClient {
/**
* @param args
*/
public static void main(String[] args) {
String url = "//localhost:8804/SAMPLE-SERVER";
try {

Fib calc = (Fib) Naming.lookup(url);
for (int i = 0; i < 10; ++i) {
int f = calc.getFib(i);
System.out.println(f);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
}
}
}

③ java如何調用介面

public interface PetInterface {

public abstract void pet();
}

比如說你的Fruit類實現PetInterface介面寫法為:
class Fruit implemented PetInterface{
public void pet(){

}
public void hitChild(){

System.out.println("水果:");

}

④ 如何用java調用windows系統API

Java Native Interface
通過JNI介面,可以使Java程序調用其他語言的的函數。
但是使用JNI的Java程序,就失去了可移植性。

可以這么寫:
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}

public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}

HelloWorldImp.c.

#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}

⑤ java如何調用別人系統的介面

別人系統的什麼介面
1、調用WebService,對方給出WebService地址,可以用Axis生成對WebService的調用代碼進行調用
2、對方提供介面文檔和傳輸方式,根據介面文檔調用

⑥ Java常說的介面調用,是怎麼調用別人的介面來用的

一般說「介面調用」指的是跟其他系統的通訊,對方提供的一般是WebService之類的語言無關的介面
java調用WebService可以用很多類庫,比如cxf

⑦ java使用HttpResponse請求其他系統的介面,對應Postman的設置

首先弄懂測試的需求,比如介面功能測試需求是什麼(什麼樣的輸入參數,專返回什麼樣的輸出屬)、介面性能測試需求是什麼(最大支持多少並發訪問,後台伺服器資源配置極限是多少等等)
然後選擇一款介面測試工具(一般推薦 POSTMAN JMETER等等),也可以自己開發介面工具。
編寫介面功能測試和性能測試的用例(這個和一般的黑盒測試用例差不多,預置條件,測試步驟,預期結果)
使用測試工具或者腳本,執行測試用例。含提交BUG,跟蹤BUG閉環等等。
分析測試結果,出具測試報告。
PS:介面的功能測試很簡單,一般是訪問的URL,帶什麼參數,然後什麼加密方式,然後看返回值符不符合預期就可以了,把各種正常異常情況考慮到。介面性能測試的話除了要設置集合點並發訪問後台介面,然後還要在後台伺服器加監控,以便於檢測系統資源,一般通用的監控指標CPU 內存 網路 等等。當然具體也要看你要測試什麼樣的介面,弄懂介面的協議再測試。希望能幫到你。

閱讀全文

與java調用外部系統介面相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接