WebService的一种简单应用方式入门
1、什么是WebService?
WebService即Web服务,简单来讲,他就是一种跨编程语言和跨操作平台的远程调用技术。
2、Web服务:
Web服务是基于HTTP和XML的技术;HTTP是互联网应用最广泛的一种网络协议,XML是跨平台的基础。
跨平台和跨编程语言:服务端程序可以用java语言编写,而客户端可以用别的语言编写。反过来也成立!跨平台指的是服务端和客户端程序可以在不同的操作系统上运行。
远程调用:指的是一台计算机上的程序可以调用另外一台计算机上的方法。
3、WebService三大要素:
SOAP(Simple Object Access Protocol)
:简易的对象访问协议,用来描述传递信息的格式。
WSDL(WebServices Description Language)
:Web服务描述语言,用来描述如何访问具体接口。
UDDI(Universal Description Discovery and Integration):
通用描述、发现及整合,用来管理、分发、查询webService。
4、SOAP、HTTP、TCP/IP之间的关系:
5、实例:
在Eclipse中,建立一个Web项目(不一定是web项目,java项目也可以),在其下建立一个类,这是我的包名和类名。
在类中写一个打招呼的方法,然后发布该服务端,如下;
打开浏览器,输入http://localhost:8087/Service/SayHello?wsdl,看到了一个xml文档:
上述的xml文档地址就是接下来要建立client中所要用到的。
接下来,在eclipse中再建立一个web项目(不一定是web项目,java项目也可以)。之后在这个项目中新建一个Web Service Client。
Finish。客户端项目目录如下:
建立测试类,此时,此前的服务端的tomcat不能停止运行,否则无效。
右键运行代码,看到控制台打印出打招呼方法的返回信息:
如上,一个简单的webservice实现方式就完成了。当然,还用很多种方式实现webservice,不止这一种。
WebService的一种简单应用方式入门的更多相关文章
- activiti复盘重推的一种简单实现方式:
activiti复盘重推的一种简单实现方式: 设置流程的每一步让用户选择,比如一共有6步完成,用户选择从第4步开始复盘重推,那么把原来的推演oldId和4传到后台, 首先,后台生成一个新的推演id n ...
- Druid数据库连接池两种简单使用方式
阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍 Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部 ...
- Android: 自定义Tab样式,一种简单的方式。
之前看到过论坛里已经有人发过自定义Tab样式的帖子,感觉有些复杂了,这里分享个简单的方法. 1.制作4个9patch的tab样式,可参考android默认的资源 tab_unselected.9.pn ...
- java倒计时三种简单实现方式
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...
- webservice常用两种身份验证方式
在项目开发,我们经常会使用WebService,但在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService?从哪里引用我的WebService?对于第一个问题,就涉 ...
- Golang切片的三种简单使用方式及区别
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 pa ...
- C#,一种简单的方式实现滚动鼠标缩放图片,平移
1.缩放 private void ImageShow_Load(object sender, EventArgs e) { pictureBox1.Load(@"E:\SQ1.jpg&qu ...
- Qt实现软件自动更新的一种简单方法
前言 最近在学习Qt开发上位机,想实现一个检查更新的功能,网上搜索了一大圈,发现实现过程都很复杂,关键是代码看不懂,所以就自己开发一种简单的方式来实现.实现效果如下: 点击"检查更新&quo ...
- SSM/SSH框架的MySQL 读写分离实现的一种简单方法
简介 MySQL已经是使用最为广泛的一种数据库,往往实际使用过程中,为实现高可用及高性能,项目会采用主丛复制的方式实现读写分离.MySQL本身支持复制,通过简单的配置即可实现一主多从的配置,具体实现可 ...
随机推荐
- 小程序用户openid设置放缓存
wx.setStorageSync('openid', res.data.data.openid),设置 var openid = wx.getStorageSync('openid')获取
- selenium 简单粗暴的定位方法
- Codeforces 1151F Sonya and Informatics (概率dp)
大意: 给定01序列, 求随机交换k次后, 序列升序的概率. 假设一共$tot$个$0$, 设交换$i$次后前$tot$个数中有$j$个$0$的方案数为$dp[i][j]$, 答案即为$\frac{d ...
- Dynamic Shortest Path CodeForces - 843D (动态最短路)
大意: n结点有向有权图, m个操作, 增加若干边的权重或询问源点为1的单源最短路. 本题一个特殊点在于每次只增加边权, 并且边权增加值很小, 询问量也很小. 我们可以用johnson的思想, 转化为 ...
- 5月21 汽车查询及批量删除----php方法
---恢复内容开始--- 这个与之前不同是在php中实现了页面的查询,引用AJAX实现批量删除及弹窗的显示 作业要求: 页面显示数据代码: <!DOCTYPE html PUBLIC " ...
- F - Proud Merchants
Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerfu ...
- redisObject
typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_B ...
- Tomcat禁用SSLv3和RC4算法
1.禁用SSLv3(SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)[原理扫描]) 编缉$CATALINA_HOEM/conf/server.xml配置文件,找到https端 ...
- python常用
列出当前目录 import os: print os.getcwd() python load .mat variable a import scipy.io as sp tmp=sp.loadmat ...
- react router @4 和 vue路由 详解(八)vue路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据 ...