深圳Java培训:WebService的简单使用

我们在开发项目时,如果有需求需要从一个项目中去调用另一个项目中的资源,通常可以有四种方案:

1.RESTful
2.WebService
3.RPC
4.Socket
这些方式各自有其使用场景和特点,今天我们主要说一下WebService这种方式。

WebService也是一个web的应用程序,可以使用XML的标准来描述、发布、发现、协调这些应用程序,可以用于分布式开发。

在开发WebService程序时,有一些基本概念必须要知道:

SOAP:简单对象传输协议。SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与其他远程数据交互。
WSDL: WebService描述语言。WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。

那么,究竟如何去使用WebService来进行两个项目数据的交互呢,接下来看一个简单的例子。
首先,新建一个工程myServer,在工程里新建一个Java类,并且开发一个基于WebService的服务,如下:

package com.wl.weather;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class WeatherServer {

public String getWeather(String cityName){switch (cityName){case "北京":return "晴";case "武汉":return "雨";default:return "未知地点";}
}public static void main(String[] args) {Endpoint.publish("http://192.168.52.56:9001/Service/Weather",new WeatherServer());System.out.println("发布完毕");
}

}

将工程中的main方法启动。

然后再新建一个工程myClient去调用myServer中的服务。在myClient中新建包com.wl.day23.controller,然后打开终端窗口,在终端窗口中切换到myClient的工程目录,并且输入如下命令:
wsimport -s . -p com.wl.day23.controller -keep http://192.168.52.56:9001/Service/Weather?wsdl
,再看一下myClient项目,就会发现多了好多个接口和类,不用管这些接口和类,在controller包里新建一个类,并且写下如下代码:
package com.wl.day23.controller;

public class IndexController {
public String list(){
WeatherServer server = new WeatherServerService().getWeatherServerPort();
String result = server.getWeather(“武汉”);
System.out.println(result);
return “/list”;
}

public static void main(String[] args) {new IndexController().list();
}

}
运行main方法,看看有没有打印出数据,如果有显示打印数据,OK,你成功了。

深圳Java培训:WebService的简单使用相关推荐

  1. 深圳java培训:使用原生JS重构简单的音乐播放器

    深圳java培训:使用原生JS重构简单的音乐播放器 上次,我们使用Jquery开发了一款简单的音乐播放器(如下图), 后来学生希望能够用原生的JS重构一次, 那么,下面就来看看如何使用原生的JS重构吧 ...

  2. 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】

    深圳Java培训学习:Java8.0新特性之Lambda表达式–[千锋] 前言 Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.本篇文章,主要给大家介绍的是lambda表 ...

  3. 深圳Java培训:Java中的对象流和序列化

    深圳Java培训:Java中的对象流和序列化 最近,在讲流的使用,其中对象流的作用其实就是将自定义类的对象与流之间相互转换的流. 看起来还是挺简单的,那么看下面的例子: public class St ...

  4. 深圳Java培训:5分钟了解希尔排序

    深圳Java培训:5分钟了解希尔排序 前言 希尔排序(shell sort)是插入排序的一种,它是简单插入排序经过改进之后的一个更高效的算法,这个排序方法又称为缩小增量排序. 希尔排序思想介绍 简单来 ...

  5. 深圳Java培训:Lock线程锁

    深圳Java培训:Lock线程锁 1:synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性.那么为什么会出现Lock呢? 在上面一篇文章中 ...

  6. 深圳Java培训机构排名榜单:动力节点上榜,第一名耳熟能详

    对于想要学Java的人来说,参考深圳Java培训机构排名榜单是最有效率的选择培训机构的方法,随着近些年学Java编程的人数暴增,Java培训市场也得到了极大的发展,Java培训机构数量空前的多,从而市 ...

  7. 2023年深圳Java培训机构排名,不看后悔系列!

    不忘初心,方得始终.2023,继续战斗!想要学习Java的小伙伴们看过来~深圳Java培训机构排名最新排行榜来了!靠谱的Java培训机构都在这里,总有一个你喜欢的,总能选出一个合适你的,快拿出小本本记 ...

  8. 用Java 开发 WebService Axis简单实例

    用 Java 开发 WebService Axis 简单实例 在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居其上.用Eclipse开发 ...

  9. 深圳Java培训:相伴java,感受spring

    深圳Java培训:相伴java,感受spring 时间就这么匆匆忙忙的来到了2019,白驹过隙中我已大学毕业工作了9年多,从那个大学时迷茫懵懂的青涩学子,成为今天已活跃在IT开发行业9年多的油腻大叔. ...

最新文章

  1. 【实用】一个移动端简单的UI弹窗组件,虽算不上高大上,但至少耐看
  2. 扩增子三部曲:1分析图表解读大全(箱线,散点,热,曼哈顿,火山,韦恩,三元,网络)...
  3. 如何用Jmeter做压力测试
  4. 逐行分析Hadoop的HelloWorld
  5. VTK:Medical之MedicalDemo3
  6. 数组静态初始化【应用】
  7. 一步步编写操作系统 29 cpu缓存简介
  8. C语言 system
  9. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌2.77%
  10. Codeforces Round #529 (Div. 3) D. Circular Dance
  11. 模二运算,模二加减乘除
  12. 【ASUS】关于华硕笔记本win7下GTX950M独显驱动无法安装上的解决方法
  13. vivado下载失败并报 End of startup status:LOW
  14. “变速齿轮”研究手记
  15. cpu单核性能测试软件,CPU常用跑分软件 你知道那些?
  16. 一款JavaScript 混淆(Obfuscator)工具(Tool)的研究(六)更新
  17. Facebook登录服务器端接入
  18. 离散数学之数理逻辑——第2章 命题逻辑等值演算
  19. Glide异步加载图片,设置默认图片和错误图片
  20. 网站云服务器资料本地备份,云服务器数据备份到本地

热门文章

  1. Word 2013去掉封面和目录的页眉
  2. 诉说我的心情,倾听我的故事
  3. PHPCMS教程,手把手教你建网站
  4. iOS Epub阅读器,该有的都有了
  5. 注意的分类和规律以及生理机制
  6. 关于电信、网通检测ADSL共享上网的技术手段
  7. 用Python写了个金融数据爬虫,半小时干了全组一周的工作量
  8. Vue使用Markdown文档
  9. 粪菌移植——一种治疗人体疾病的新型疗法
  10. 24 solar terms隐私条款