WebService入门实例教程
什么是WebService
通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布、查找和使用。
WebService脚本平台需支持XML+HTTP。
HTTP协议是最常用的因特网协议。
XML提供了一种可用于不同的平台和编程语言之间的语言。
为什么要使用WebService
最重要的事情是协同工作。
1.跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然,其他系统同理);
2.跨语言调用(WebService不局限于编程语言,你可以在Java语言中调用C#语言提供的WebService服务,反之亦然,其他语言同理);
3.可远程调用(通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,只要有Internet)。
使用JDK开发WebService
一.WebService服务端开发
1.创建服务端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:
2.在源代码目录src下面的包中新建一个java类用来提供WebService服务,我这里创建了一个Function类,通过javax.jws.WebService注解提供服务,通过javax.xml.ws.Endpoint类的publish方法来发布服务并提供发布的地址以及发布的服务类,代码如下:
package com.jspweb.ws; import javax.jws.WebService;
import javax.xml.ws.Endpoint; /**
* WebService服务端案例
* @author AlanLee
* @version 2017/06/02
* 使用@WebService注解标注实现类
*/
@WebService
public class Function {
public String transWords(String words){
String res = "";
for(char ch : words.toCharArray()){
res += ch+",";
}
return res;
} public static void main(String[] args) {
// 使用Endpoint(终端)类发布webservice
Endpoint.publish("http://localhost:8089/service/function", new Function());
System.out.println("Publish Success");
}
}
3.启动main方法运行这个类,打印出结果Publish Success,表示服务发布成功:
4.打开浏览器,访问我们发布的地址,大家可以看到这样的效果:
5.点击WSDL后面的连接地址便可以打开WSDL配置,访问结果如下:
WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。
二、WebService客户端开发
1.创建客户端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:
2.使用eclipse工具生成客户端代码,跟着图一步步操作:
①选中项目点击鼠标右键new>Other...:
②在Wizards框中输入web,选择Web Service Client,点击next按钮:
③输入WSDL服务描述文件的访问地址,点击next:
④点击Finish按钮,eclipse会自动帮我们在src目录下生成WebService客户端所需的代码:
⑤:生成的代码如下:
2.编写客户端测试类代码,我在同级目录下面写了一个测试类,并运行它的main方法,得到结果如下:
这样一个简单的WebService入门实例就完成了。
结束语:菩提本无树,明镜亦非台。本来无一物,何处惹尘埃!
可爱博主:AlanLee
博客地址:http://www.cnblogs.com/AlanLee
本文出自博客园,欢迎大家加入博客园。
WebService入门实例教程的更多相关文章
- React 入门实例教程(转载)
本人转载自: React 入门实例教程
- Omnet++ 4.0 入门实例教程
http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...
- let import export React入门实例教程 connect provider combineReducers 箭头函数 30分钟掌握ES6/ES2015核心内容 Rest babel
let与var的区别 http://www.cnblogs.com/snandy/archive/2015/05/10/4485832.html es6 导入导出 http://www.csdn.ne ...
- Java WebService入门实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描述 ...
- React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- Facebook React.js库 入门实例教程
作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩 ...
- 2015年最热门前端框架React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- React入门实例教程
文章转自:阮一峰 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React ...
- React 入门实例教程(转载)
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
随机推荐
- nodejs 后台服务启动
最近一个项目微信小程序,需要写个小型的后端程序处理聊天通讯记录保存,主要是功能是组建群聊天室,所以用node写了个websocket服务... 但是终端连接到服务器,运行 node server.js ...
- cookie和session的区别异同
1.用于保存页面信息:如自动登录,记住用户名 2.对于同一个网站只有一套cookie,它是以域名为单位的,一个域名就是一套,数量大小有限4k-10k,同时会具有过期时间 3.JS中通过document ...
- Extjs6(三)——用extjs6.0写一个简单页面
本文基于ext-6.0.0 一.关于border布局 在用ext做项目的过程中,最常用到的一种布局就是border布局,现在要写的这个简单页面也是运用border布局来做.border布局将页面分为五 ...
- Android事件分发机制详解
事件分发机制详解 一.基础知识介绍 1.经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_UP等 2 ...
- My SQL数据库的安装与配置
MySQL是一个关系型数据库管理系统.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言 MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤 ...
- 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(2)-abp说明
前言 上周未发布完<基于ABP+Angulsrjs现代化应用软件开发框架(1)-总体介绍> 文章后,好多朋友问了我一些ABP的问题,并且希望我开源我的项目源码,向朋友们说一下,我项目的源码 ...
- Python-3------新年考试周的Python学习
2016一开始就是考试周,准备专业课的考试复习.每天上午复习,晚上复习到8点半,之后到10点这点时间来看Python.庆幸没有在忙碌的时候荒废 Python的学习. 期待寒假,以前寒假在家总是没事做, ...
- bzoj4785 [Zjoi2017]树状数组
Description 漆黑的晚上,九条可怜躺在床上辗转反侧.难以入眠的她想起了若干年前她的一次悲惨的OI 比赛经历.那是一道基础的树状数组题.给出一个长度为 n 的数组 A,初始值都为 0,接下来进 ...
- MySQL 的Coalesce函数
今天用到了coalesce 函数,原因在于,我想要查找合同到期日的字段是否有值(因为合同到期日分3个字段,对应着不同的日期) select coalesce(contract_date1,contra ...
- [ext4]06 磁盘布局 - 特殊inode
Ext4预留了一些inode做特殊特性使用,见下表: inode Purpose 0 不存在,Ext4中不存在inode 0. 1 存放损坏的数据块链表 2 根目录 3 User quota. 用户q ...