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

news/2024/4/19 0:08:24

()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.





https://dhexx.cn/news/show-3784641.html

相关文章

ESP32-C3 学习测试 蓝牙 篇(六、添加 Service)

学会了添加 characteristic ,还得学会添加 service,本文来学习新增蓝牙服务。目录前言一、添加一个 Service1.1 新 service 头文件枚举定义1.2 新 service 的一些定义1.3 新 service 的属性表1.4 新 service 的通知1.5 ☆新 service 的创建☆二、测试结语…

(五)Java游戏部署在Windows Mobile平台仿真器(Microsoft)

前面几种平台,都可以集成到NetBeans IDE开发环境中. 很遗憾的是, 目前NetBeans还没办法集成Windows Mobile平台的仿真器. 可以采用不同于前面平台的方式,把Java程序部署在Windows Mobile平台的仿真器上.准备软件:1。下载&#xff…

ESP32-C3 学习测试 蓝牙 篇(七、GATT 数据通信 — 发送自定义数据)

前面我们已经入门了 GATT 的开发,更进一步,进行想要的数据通信 。目录前言1、通信问题思考2、 如何才能每次传输不同的数据3、 对 handle 的认识4、继续尝试5、测试成功结语前言 本来计划直接做一个蓝牙的小应用,首先得实现一下自己想要数据…

(四)Java游戏部署在BlackBerry仿真器上(RIM)

准备软件:1。下载 BlackBerry Java Development Environment v4.2.1 (http://na.blackberry.com/eng/developers/downloads/jde.jsp) 安装软件:1。运行BlackBerry_JDE_4.2.1.exe,安装目录,例如&#xff1a…

ESP32-C3 应用 篇(实例二、通过蓝牙将传感器数据发送给手机,手机端控制 SK6812 LED)

ESP32-C3 蓝牙部分我们学习了GATT,本文尝试使用蓝牙做一个简单的小应用。目录前言一、整体框架二、数据传输部分2.1 添加温湿度驱动组件2.2 传感器数据传输程序再次说明: ESP_GATTS_READ_EVT 事件2.3 功能测试2.4 代码优化三、控制部分3.1 添加LED驱动组…

嵌入式Linux 开篇大吉

❤️ 大家好,我是矜辰所致,从去年开始计划写博文的时候就已经在考虑嵌入式 Linux,但是在此之前花了快一年的时间整理了自己的一些笔记和心得,最后也就是以文章形式呈现给大家的这些博文。 ❤️ 发现在如今的C站,嵌入式…

(三)Java游戏部署在Symbian平台仿真器上(Nokia)

准备软件:1。下载 Series 80 Platform SDKs (http://forum.nokia.com/main/resources/tools_and_sdks/index.html#java), 这个SDK包括两部分,我们只需要下载MIDP部分"Series 80 Developers Platform 2.0 SDK for Symbian OS, for …

(二)Java游戏部署在Linux平台仿真器上(Motorola)

准备软件:1。下载 Motorola Java ME SDK v6.4 for Linux OS Products (http://developer.motorola.com/docstools/sdks/linux64/)安装软件:1。解压缩linux_64_SDK.zip, 例如,解压缩后的文件放在c:/java/Motorola目录下&#xff12…

缺少比较器,运放来救场!(运放当做比较器电路记录)

电路小课堂,结合实际聊一聊使用运放做比较器的例子... by 矜辰所致目录前言一、运放和比较器1.1 简介1.2 ☆输出端☆1.3 运放当做比较器注意事项二、电路记录2.1 一个得意的方案替换2.2 一些细节的再次说明结语前言 最近做了一个小项目,因为一个比较器缺…

(一)NetBeans IDE上的Java手机游戏例子

准备软件:1。下载Java SE 5.0或以上版本(http://java.sun.com/javase/downloads/index_jdk5.jsp )2。下载NetBeans IDE 5.5.1 (http://zh-cn.netbeans.org/ )3。下载NetBeans Mobility Pack for CLDC (http://zh-cn.netbeans.org/ )安装软件:按照以下顺序…