利用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界

    从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界
    SQL:
    select*fromdbo.pds_operation_log  where(plan_code=12andcreate_timebetween’1900-01-01’and’2098-12-31′)orderbycreate_time asc
     
    出错:
    消息296,级别16,状态3,第1行
    从char数据类型到smalldatetime数据类型的转换导致smalldatetime值越界。

    2022年5月19日
    39
  • [和管子对话] 1 2007-4-5/对面向对象的你言我语

    [和管子对话] 1 2007-4-5/对面向对象的你言我语

    2021年7月24日
    62
  • 指纹和人脸识别能同时设置吗_华为畅享9有指纹吗

    指纹和人脸识别能同时设置吗_华为畅享9有指纹吗指纹识别可以说是近几年来智能手机的标配,而且也有很多机型采用了人脸识识别和指纹识别的双重解锁方案。那么华为畅享Z有指纹识别吗?支持人脸识别解锁吗。下面小编就来为大家详细解答一下,一起来看看吧!华为畅享Z有指纹识别吗?支持人脸识别解锁吗华为畅享Z有指纹识别和人脸识别解锁吗据能哈小编了解,华为畅享Z是有指纹识别功能的,不过它采用的是侧边指纹解锁,而非屏幕指纹解锁,同时它还支持人脸识别解锁方案,两者组合…

    2022年8月10日
    19
  • 安卓中activity的生命周期_产品生命周期五个阶段

    安卓中activity的生命周期_产品生命周期五个阶段Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码。系统存在启动与销毁一个activity的一套有序的回调函数。本节来讨论下不同生命周期的回调函数里都该做哪些事情,不该做哪些事情。理解生命周期的回调在一个activity的生命周期中,系统会像金字塔模型一样去调用一系列的生命周期回调函数。Activity生命周期的每一个阶段就像金字塔中的台阶。当系统创建了一个新的activity实例

    2022年8月16日
    7
  • NFS固定端口配置

    NFS固定端口配置NFS固定端口的配置一、环境介绍二、配置步骤1、安装nfs工具2、创建共享目录3、修改nfs配置文件,指定固定的端口4、重启相关服务并检查相应端口是否存在一、环境介绍1、内网环境,使用NFS作为存储;2、需开通工作节点服务器访问存储服务器的NFS的网络策略,所以需要将端口固定;二、配置步骤1、安装nfs工具yuminstall-yrpcbindnfs-utils2、创建共享目录mkdir/data/hoschmod777/data/hos/编辑/etc/exports

    2022年6月27日
    74
  • 什么叫大数据 大数据的概念

    什么叫大数据 大数据的概念1、大数据定义 对于“大数据”(Bigdata)研究机构Gartner给出了定义,“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工

    2022年5月4日
    63

发表回复

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

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