计算机语言分类有很多,如C、C++、C#、Java、Php、Python等等,她们有各自的特性及擅长的领域,但她们各自又不是全能的。在一个稍微大型一点的项目都会用到多种语言共同完成,那么这些编程语言如何进行通信呢。什么意思呢,就是比如说我Java写的一个方法,其他编程语言要怎么去调用呢?这就是本文要探讨的问题了。
一般来说,方法层面的编程语言通信用的是网络接口形式,只暴露出形参和结果供别人调用。接口一般分为接口定义者和接口调用者,定义者可以规定接收参数的类型及返回形式,而接口定义者则只能完全按照接口定义者规定的参数进行访问。就叫是我们所说的webService(网络服务)。
以前的做法是利用XML作接口格式定义,然后通过Http做通讯和请求,如大名鼎鼎的SOAP,其实现在也是的,只不过现在流行RestFul风格的Rest接口形式,但用的还是XML+HTTP,那这两者有啥区别呢?最大的区别就是SOAP返回的主要是XML格式,有时还需要附带一些辅助文件,而Rest则还可以返回JSON类型的字符串,减少了很多繁乱的XML标签。本文就以Java为例,用她写一个接口,并让其他人去调用,以此来简单展示接口调用是怎么样一个过程。
步骤:
1、本机装有Java JDK运行环境及编程IDE(如Myeclipse)
2、建立一个maven项目,用以下载jar包,项目结构如下:

3、pom.xml文件内容如下:





4、applicationContext.xml内容如下:

5、web.xml则主要配置采用的容器、日志管理及拦截器,拦截器可以实现到达请求郑涛之前进行身份认证,踢除没有访问资格的请求,而rest项目一般是用Jersey容器。配置如下:(kendy只是我的英文名,你们可以自己定义路径)

6、拦截器如下:

7、注册Jersey容器所要管理的类

8、接口定义(Restful风格)


9、调用接口,有多种方式,本文用HttpClient

10、返回接口

11、最后通过Map、List和Json工具对返回来的字面量进行各种处理。


-
接口
+关注
关注
33文章
9452浏览量
156230 -
JAVA
+关注
关注
20文章
2997浏览量
115755
发布评论请先 登录
module 概述以及如何写一个module
一文看懂scala和java的区别
如何写一个简短的Python代码做一个换脸程序的详细概述
如何写一个会讲笑话的Python程序
HarmonyOS如何自动生成JS FA调用Java PA的模板代码
如何写一个简单的装饰器

一文看懂java如何写接口给别人调用
评论