計算機語言分類有很多,如C、C++、C#、Java、Php、Python等等,她們有各自的特性及擅長的領域,但她們各自又不是全能的。在一個稍微大型一點的項目都會用到多種語言共同完成,那么這些編程語言如何進行通信呢。什么意思呢,就是比如說我Java寫的一個方法,其他編程語言要怎么去調用呢?這就是本文要探討的問題了。
一般來說,方法層面的編程語言通信用的是網(wǎng)絡接口形式,只暴露出形參和結果供別人調用。接口一般分為接口定義者和接口調用者,定義者可以規(guī)定接收參數(shù)的類型及返回形式,而接口定義者則只能完全按照接口定義者規(guī)定的參數(shù)進行訪問。就叫是我們所說的webService(網(wǎng)絡服務)。
以前的做法是利用XML作接口格式定義,然后通過Http做通訊和請求,如大名鼎鼎的SOAP,其實現(xiàn)在也是的,只不過現(xiàn)在流行RestFul風格的Rest接口形式,但用的還是XML+HTTP,那這兩者有啥區(qū)別呢?最大的區(qū)別就是SOAP返回的主要是XML格式,有時還需要附帶一些輔助文件,而Rest則還可以返回JSON類型的字符串,減少了很多繁亂的XML標簽。本文就以Java為例,用她寫一個接口,并讓其他人去調用,以此來簡單展示接口調用是怎么樣一個過程。
步驟:
1、本機裝有Java JDK運行環(huán)境及編程IDE(如Myeclipse)
2、建立一個maven項目,用以下載jar包,項目結構如下:
3、pom.xml文件內容如下:
4、applicationContext.xml內容如下:
5、web.xml則主要配置采用的容器、日志管理及攔截器,攔截器可以實現(xiàn)到達請求鄭濤之前進行身份認證,踢除沒有訪問資格的請求,而rest項目一般是用Jersey容器。配置如下:(kendy只是我的英文名,你們可以自己定義路徑)
6、攔截器如下:
7、注冊Jersey容器所要管理的類
8、接口定義(Restful風格)
9、調用接口,有多種方式,本文用HttpClient
10、返回接口
11、最后通過Map、List和Json工具對返回來的字面量進行各種處理。
-
接口
+關注
關注
33文章
8625瀏覽量
151342 -
JAVA
+關注
關注
19文章
2970瀏覽量
104835
發(fā)布評論請先 登錄
相關推薦
評論