(二)Java EE 5实现Web服务(Web Services)及多种客户端实例-实现Web服务

news/2024/11/9 7:35:17

()JAVA EE 5平台上实现Web服务实例(模拟股票行情机)

JAVA EE 5平台上的JAX-WS

J2EE 1.4平台上实现Web Services的是JAX-RPC, 而到了JAVA EE 5, 重新命名为JAX-WS.

JAX-RPCJAX-WS最大的不同是编程模式的差别。 JAVA EE 5采用了JAVA SE 5 Java语言新特性,在JAX-WS使用了大量的标注(annotation, 因而减少了Web Services的代码量与部署工作,自然也简化了开发。

实现Web服务(模拟股票行情机)

这个例子中采用自低向上的开发方式,即先实现一个模拟的股票行情机,再把这个应用程序发布为Web服务,即最终产生WSDL

JAVA EE 5 平台上可以最终发布为Web服务的模块有三种, Servlet, EJB以及POJO (plain old Java Object).

下面以POJO为例,来建立模拟的股票报价Web服务

准备及安装软件

  1. JAVA SE 5 (JDK 1.5)及以上版本(http://java.sun.com/javase/downloads/index.jsp )

  2. NetBeans 5.5.1 (http://zh-cn.netbeans.org/index_zh_CN.html )

  3. Sun Application Server 9 (https://glassfish.dev.java.net/): 可以直接下载带Sun Application Server 9NetBeans (http://www.netbeans.info/downloads/index.php )

     


建立模拟的股票报价Web服务

1。打开NetBeans 5.5.1, 菜单“文件”中选择“新建项目”

2。“新建项目”窗口中,“类别”栏中选择“Web”,“项目“栏中选择“Web应用程序”,点击“下一步”按钮。

3。“新建Web应用程序 ”窗口中,在“项目名称”栏中输入“StockQuoteWS”

“服务器”中选择“Sun Application Server 9”, 这是Web Services 部署和运行的平台

Java Ee版本”中选择“Java EE 5”, 这样可以使用JAX-WS来开发Web Services




4。点击“完成”按钮后,在NetBeans IDE中生成StockQuoteWS项目。接下来建立一个StockQuotePOJO类。鼠标右键点击“StockQuoteWS项目”,选择“新建”->“Java类”。

5。“新建Java类 ”窗口中,输入类名和包名,比如

类名:StockQuote

包名:com.sun.sdn.demo.ws



6。为StockQuote类添加一个getQuote()的方法. 方法实现如下:

public String getQuote(String stockCode){

String quote = "";

if (ht.containsKey(stockCode))

quote = (String)ht.get(stockCode);

return quote;

}

7。把POJO发布为Web Services,在JAX-WS中非常简单,仅仅需要在类前面加上@WebService() 。而POJO类中所有的公共方法也都会转换为Web Services 的方法.

/*

* StockQuote.java

*

* Created on 2007820, 下午11:25

*

* To change this template, choose Tools | Template Manager

* and open the template in the editor.

*/


package com.sun.sdn.demo.ws;

import javax.jws.WebService;

/**

* @author Ada Li

*/

@WebService()

public class StockQuote {

/** Creates a new instance of StockQuote */

public StockQuote() {

init();

}

java.util.Hashtable ht = new java.util.Hashtable();

void init(){

ht.put("601988.ss", "5.90");

ht.put("000002.sz", "30.11");

}

public String getQuote(String stockCode){

String quote = "";

if (ht.containsKey(stockCode))

quote = (String)ht.get(stockCode);

return quote;

}

}

StockQuote类添加@WebService()标注(annotation)之后,就可以在NetBeansStockQuoteWS项目中看到新生成“Web服务”目录,目录下列出了”StockQuote”以及方法“getQuote”




8。到这一步已经完成了StockQuoteWeb服务开发,接下来要部署以及测试这个Web服务。

9。鼠标右键点击“StockQuoteWS”项目,选择“部署项目”。部署完成后,可以在NetBeans “运行环境”->"服务器"->“Sun Application Server 9”->"应用程序"->“Web应用程序”下看到“StockQuoteWS”, 表示Web服务成功部署在了Sun Application Server 上。



10NetBeans IDE 提供了Web服务的测试工具。鼠标右键点击“StockQuoteWS”项目->"Web服务"-〉“StockQuote”,选择“测试Web服务”,浏览器会打开“StockQuoteService Web Service Test”窗口。在文本框中输入“601988.ss”,点击“getQuote”按钮。



输出结果如下图:



11。在这个Java EE 5 平台上实现的Web服务,可以通过Web服务的测试工具察看WSDL以及SOAP的信息。而UDDI,测试工具使用的是NetBeans自带的Web Services Registry

StockQuoteWS部署完成后,最重要的记住WSDL的位置,即http://localhost:8080/StockQuoteWS/StockQuoteService?WSDL接下来创建Web服务客户端时候,需要这个URL.





http://www.niftyadmin.cn/n/3654454.html

相关文章

金融社保IC卡将逐步拓展到民政计生等领域

近日,从福建省人力资源和社会保障厅获悉,目前该省社会保障卡制发工作正在进行中。按照规划,福建省社保卡可应用于社会保障、医疗、金融等方面,今后将逐步拓展到民政、计生、教育、就业、培训等领域,相当于居民的第二张…

发力城市一卡通,创建物联网信息化城市

在以物联网为首的信息产业浪潮中,智能一卡通行业也将迎来新的发展机遇。为推动物联网技术在城市一卡通行业的深入应用,住房和城乡建设部IC卡应用服务中心将于11月1日在大连市召开“2011城市通卡发展年会暨第十届全国住房城乡建设领域物联网应用发展论坛”…

(三)Java EE 5实现Web服务(Web Services)及多种客户端实例-瘦客户端

(三)瘦客户端(thin client)调用Web服务瘦客户端指采用浏览器作客户端, 而代码实现通常采用Web应用程序. 准备及安装软件1。JAVA SE 5 (JDK 1.5)及以上版本(http://java.sun.com/javase/downloads/index.jsp )2。NetBeans 5.5.1 (http://zh-cn.netbeans.org/index_zh_CN.html )3…

(四)Java EE 5实现Web服务(Web Services)及多种客户端实例-胖客户端

(四)胖客户端(rich client)调用Web服务胖客户端,相对于瘦客户端来说,有着界面丰富,操作速度快,功能强大等优点. 目前国内比较流行的炒股软件,比如钱龙,大智慧, 同花顺,都属于胖客户端类. 而胖客户端的缺点在于升级成本高等.准备及…

湖北荆州农民用IC卡配肥种田

湖北荆州农民用IC卡配肥种田湖北荆州农民只需要拿着IC卡在智能终端配肥机的电脑上轻轻一刷,一袋满足持卡农户农田耕地所需养分数量和含量的配方肥片便“噌”落了地,在22日至23日召开的全省土肥工作(荆州)现场会上,与会…

加拿大发行PRESTO智能卡

不论是搭GO火车或GO巴士,或者是大多市地区内的公共交通工具,只须拿著一张PRESTO智能卡,就能方便抵达目的地。现在出售PRESTO智能卡的地点,包括61个GO火车站、400 架GO巴士上和七个城市的公车系统。加拿大安省省长麦坚迪24日来到万…

用JSP实现基于Web的RSS阅读器

转贴自己的原创:用JSP实现基于Web的RSS阅读器(http://blog.csdn.net/javachannel/archive/2006/06/28/846826.aspx )

Java游戏程序部署在不同平台的手机模拟器上

手持终端设备,包括手机,智能手机,掌上电脑等等。手持终端设备平台类似于计算机中的操作系统,目前比较广泛见到的有以下几种1。Linux:2。Symbian:3。BlackBerry:4。Windows Mobile:5。…