利用JDK发布webService实例「建议收藏」

利用JDK发布webService实例「建议收藏」一、webService的发布1、新建一个webProject2、修改jdk为1.6及以上—-3、编写方法—- packagecom.test.webService;importjavax.jws.WebService;importjavax.xml.ws.Endpoint;@WebServicepublicclass

大家好,又见面了,我是你们的朋友全栈君。

一、webService的发布
1、新建一个web Project

ss

2

2、修改jdk为1.6及以上—-

3
4
5
6

3、编写方法—-


 package com.test.webService; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class webServiceTest {  public int add(int n){  int sum=0;  for(int i=0;i<n;i++){  sum+=i;  }     return sum;  }  public String sub(int n){  int temp=100;  for(int i=0;i<n;i++){  temp-=i;  }     return "差为"+temp+"";  }  /**   * @param args   */  public static void main(String[] args) {  //Endpoint:jdk提供的专门用来发布服务的类  //publish()方法有两个参数,第一个是本地服务的地址,第二个是本地提供服务的类  Endpoint.publish("http://localhost:9090/webService/webServiceTest", new webServiceTest());         System.out.println("webService发布成功!");  } }
解释如下—
1、用Jdk1.6.0_21以后的版本发布一个WebService服务.与Web服务相关的类,都位于javax.xml.ws.*包中。 
2、主要类有: 
a) @WebService - 它是一个注解,用在类上指定将此类发布成一个webservice服务. 
b) Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。Endpoint是jdk提供的一个专门用于发布服务的类,它的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。它位于javax.xml.ws.*包中。 
static
Endpoint.publish(String address, Object implementor) 在给定地址处针对指定的实现者对象创建并发布端点。stop方法用于停止服务。
 
其他注意事项: 
1)
给类添加上@WebService注解
后,类中所有的非静态方法都将会对外公布。不支持静态方法,final方法。 
2) 如果希望某个方法(非static,非final)不对外公开,可以在方法上添加@WebMethod(exclude=true),阻止对外公开。 
3) 如果一个类上,被添加了@WebService注解,则必须此类至少有一个可以公开的方法,否则将会启动失败。 
4) 服务类中不能没有方法 
5) @WebMethod(exclude=true)屏蔽方法
运行====

8

运行结果—-

9

打开浏览器查看生成的wsdl文档—-

10

二、webService的调用

11
12
13
14

新建一个web Service Client(客户端)

15

然后一直Next,直到finish。最后生成如下文件:

16

新建一个测试类–

17

package com.test.client;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		AddFunction a=new AddFunctionService().getAddFunctionPort();//初始化,实例化
		System.out.println("1到100的和为:"+a.add(100));//调用service中的方法
		System.out.println(""+a.sub(10));

	}

}
19

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162647.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab产生高斯白噪声

    matlab产生高斯白噪声函数介绍matlab里和随机数有关的函数:(1)rand:产生均值为0.5、幅度在0~1之间的伪随机数。(2)randn:产生均值为0、方差为1的高斯白噪声。(3)randperm(n):产生1到n的均匀分布随机序列。(4)normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵。rand:返回一个在区间(0,1)内均匀分布的随机数。rand(n):生成0到1之间的n阶(n×n)随机数方阵。rand(m,n):生成0到1之间的m×n的随机数矩阵。

    2022年10月21日
  • QThread使用——关于run和movetoThread的区别「建议收藏」

    QThread使用——关于run和movetoThread的区别「建议收藏」QThread使用探讨2010-10-2300:30注意:本文停止更新,请优先考虑 Qt线程基础(QThread、QtConcurrent等)dbzhang8002011.06.18QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便

    2022年5月8日
  • IOS成长之路-Nsstring中搜索方法rangeOfString

    IOS成长之路-Nsstring中搜索方法rangeOfString

    2021年12月8日
  • TreeMap数据结构之排序二叉树

    TreeMap数据结构之排序二叉树一.排序二叉树排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。二.排序二叉树添加节点    以根节点当前节点开始搜索,拿被

    2022年7月25日
  • python的环境变量的设置,安装库的两种方法,pycharm解释器设置字体大小,在DOS下运行python,无法定位动态库「建议收藏」

    python的环境变量的设置,安装库的两种方法,pycharm解释器设置字体大小,在DOS下运行python,无法定位动态库「建议收藏」windons下的安装,环境变量的设置,pycharm的安装下载,字体的设置1.下载pycharm  a.下载地址https://www.7down.com/soft/336988.htmlb.pycharm安装成功后配置搜狗输入法,代码区输入时符合的切换c.pycharm创建记事本和文件目录2.python安装模块  安装第三…

    2022年8月25日
  • Tesseract OCR初探

    Referfromhttp://hellosure.github.io/ocr/2014/10/11/tesseract-ocr/11October2014OPENCV&OCROpenCV(OpenSourceComputerVisionLibrary,跨平台计算机视觉库),专注机器视觉,是个更大范围的概念OCR(OpticalCh

    2022年4月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号