网游活动专题站 - 新版本福利与赛事播报

  • 首页
  • 热门推荐
  • 版本速递
  • 赛事专区

最新发表

  • 冲锋衣适合在多少度的气温下穿着?
  • 请问如果在证券公司开户完成后,大约需要多久才能知道客户号?
  • 转账已受理多久到账 详细情况如下
  • 物语系列游戏合集
  • 超能纪元:2025年春季超能觉醒盛典,开启你的无限潜能之旅!
  • 佛教中常讲的“功德”与“福德”,有什么不同
  • 2022世界杯各场赔表率查看,2022世界杯体彩倍率表图片
  • 航海纪元:寻宝大航海时代
  • 《铁骑冲锋》五周年全服庆典之巅峰铁骑战魂觉醒:跨服远征·王城争夺战
  • 入门家用选它没错:赛扬G1840对比评测(全文)

友情链接

Copyright © 2022 网游活动专题站 - 新版本福利与赛事播报 All Rights Reserved.

Spring学习(七)——开发Web Service的几种方式

热门推荐 · 2026-01-27 04:29:27

本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有

什么不同,各有什么优缺点。经过几天的查资料、实验、失败、再查资料、再实验的过程,终于有了一个大概的了解,也把自己的学习成果跟大家分享一下:

用Java开发Web Service一般有三种方式,本文在Idea下分别使用三种方式并结合Spring容器实现了三个Demo,下面为大家一一介绍。

1、Axis、XFire和CXF方式

这几种框架都采用“代码优先”的方式开发Web Service,即先开发出普通的Java代码,然后使用框架自动将Java对象方法发布成Web Service。

Idea自带Axis框架,在创建工程时选择即可(Web Application->WebServices,Version中选择Apache Axis)。

该方式的开发过程很简单,实现好web service 类后,点击Idea窗口中的Tool->Web Service->Generate wsdl from java code,配置好服务地址即可。

该示例较简单未上传。

2、Spring-WS方式

该框架是“文档优先”方式,即先制定出报文协议,然后再开发具体的服务应用。

Idea自带该框架,在创建工程时选择(Spring->Spring Web Services)即可自动下载相关包。

详细开发步骤如下:

2.1 在web.xml中添加servlet

2.2、 在WEB-INF下建立配置文件spring-ws-servlet.xml

2.3、 在resources目录下建立hello.wsdl

2.4 、创建web service 类和终结点

2.5、 在spring-ws-servlet.xml文件中配置终结点bean

示例Demo下载:https://files.cnblogs.com/wenjingu/springws.zip

3、JAX-WS方式

JAX-WS是JDK自带的框架,它是Java的Web服务标准。该框架同时支持“代码优先”方式和“文档优先”方式,但似乎对“文档优先”方式的支持更好一些。

很多JAX-WS开发者都推荐使用“文档优先”方式。Idea自带该框架,在创建工程时选择(Web Application->WebServices,Version默认)即可自动下载相关包。

开发步骤如下:

3.1、“代码优先”方式与1类似

3.2、“文档优先”方式与2类似

示例Demo下载:https://files.cnblogs.com/wenjingu/jaxws.zip 只传了服务端,客户端按4.2节的步骤创建即可。

4、测试

4.1、在浏览器输入:http://localhost:8080/services/HelloWorld?wsdl可以显示该文件内容,输入:http://localhost:8080/services/HelloWorld可显示类似如下内容:

4.2、在Idea中创建一个WebService Client工程,idea会自动创建一些代码,修改后如下所示:

public class HelloWorldClient {

public static void main(String[] argv) {

mypackage.HelloWorld service = new HelloWorldService().getHelloWorldPort();

//invoke business method

service.sayHelloWorldFrom("192.168.20.106");

}

}

执行后会在服务端打印:Hello, world, from 192.168.20.106。

4.3、很多开发者建议用SoapUI测试,本文尚未使用,有时间再研究下。

补充:

CXF现在已实现了JAX-WS2.0规范,开始提供对JAX-WS API的支持。


Pinyin Lyrics Xiao Jia Ling (小嘉玲)
【“数”看贵州②】多彩宝:深耕八年,服务人次超八亿