`
piperzero
  • 浏览: 3549792 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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

阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

(四)胖客户端(rich client)调用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 )

建立胖客户端调用Web服务

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

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



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

取消”创建主类”. 点击”完成”


4. 接下来要创建GUI窗体. 鼠标右键点击”RichClient”项目. 选择"新建"->"文件/文件夹". "新建文件"窗口中, “类别”选择”Java GUI窗体”, “文件类型”选择”JFrame窗体”



5. "新建JFrame窗体”中, 输入如下

类名: StockQuoteJFrame

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

点击”完成”按钮



6. 空白窗体"StockQuoteJFrame"出现在设计窗口中. NetBeans中的GUI采用托拽”组件面板”部件到窗体的方式来布局, 打开"组件面板"窗口,可以通过菜单"窗口"->"组件面板". 完成后的StockQuoteJFrame.java 窗体如下:



7. 建立完GUI窗体, 接下来需要建立Web服务的客户端. 需要先导入相关的Web服务库. 选择”RichClient"项目下的库。鼠标右键点击”库", 选择”添加库...”。"添加库"窗口中,选择”JAX-WS 2.1”. 点击”添加库”按钮.


8。鼠标右键点击”RichClient”项目, 选择“新建”->“文件/文件夹”. ”新建文件”窗口中,“类别”选择“Web服务”,“文件类型”选择“Web服务客户端”。点击“下一步”。

9.“新建Web服务客户端”窗口中,输入如下:

WSDL URL: http://localhost:8080/StockQuoteWS/StockQuoteService?WSDL

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

点击”完成”

关于WSDL URL,请参考JAVA EE 5平台上实现Web服务实例(模拟股票行情机)>>



另外, 点击”设置代理”按钮, 确认已经设置了适和的代理服务器.



10. 出现如下提示窗口,询问"已在外部修改了文件E:\mymodules\RichClient\catalog.xml, 是否重新装入它?", 点击”是”

11. NetBeans 自动在客户端生成Web服务的调用类.在”文件"Tab, 可以在”ThinClient”->"build"->"generated"->"wsimport",查看com.sun.sdn.demo.ws包中自动生成的调用类, 如

GetQuote.class

GetQuoteResponse.class

ObjectFactory.class

StockQuote.class

StockQuoteService.class

package-info.class


12. 在stockQuoteJFrame.java的源窗口中, 加入下面一个方法

public String getQuote(String stockCode){

return null;

}


13. 在getQuote()方法体中, 鼠标右键点击任一位置.选择”Web服务客户端资源”->"调用Web服务操作"



14. 自动生成的代码(黑体)如下

public String getQuote(String stockCode){

try { // Call Web Service Operation

com.sun.sdn.demo.ws.client.StockQuoteService service = new com.sun.sdn.demo.ws.client.StockQuoteService();

com.sun.sdn.demo.ws.client.StockQuote port = service.getStockQuotePort();

// TODO initialize WS operation arguments here

java.lang.String arg0 = "";

// TODO process result here

java.lang.String result = port.getQuote(arg0);

System.out.println("Result = "+result);

} catch (Exception ex) {

// TODO handle custom exceptions here

}

return null;

}

15. 在stockQuoteJFrame.java的设计页面, 右键点击”get quote”按钮, 选择”事件”->"Action"->"actionPerformed". 添加如下代码:

private void jButtonGetQuoteActionPerformed(java.awt.event.ActionEvent evt) {

String stockCode = jTextFieldStockCode.getText();

String quote = "Stock " + stockCode + " quote is " + this.getQuote(stockCode);

jLabelResult.setText(quote);

}

15. 修改后的stockQuoteJFrame.java的部分代码如下:

private void jButtonGetQuoteActionPerformed(java.awt.event.ActionEvent evt) {

String stockCode = jTextFieldStockCode.getText();

String quote = "Stock " + stockCode + " quote is " + this.getQuote(stockCode);

jLabelResult.setText(quote);

}

....

String getQuote(String stockCode){

String result = "";

try { // Call Web Service Operation

com.sun.sdn.demo.ws.client.StockQuoteService service = new com.sun.sdn.demo.ws.client.StockQuoteService();

com.sun.sdn.demo.ws.client.StockQuote port = service.getStockQuotePort();

result = port.getQuote(stockCode);

} catch (Exception ex) {

ex.printStackTrace();

}

return result;

}

16.鼠标右键点击“RichClient”, 选择“运行项目”。运行结果如下:


在胖客户端的建立过程中,有一个环节是导入JAX-WS库。而建立瘦客户端中没有这一步,因为瘦客户端部署在Sun Application Server 9 上,Java EE 5平台中带有JAX-WS. 部署胖客户端的Java SE 5则没有JAX-WS包。不过从Java SE 6 开始,已经把JAX-WS包中加了进去。




分享到:
评论

相关推荐

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

    本教程将深入探讨如何在Java EE 5环境中实现Web服务以及创建胖客户端来消费这些服务。 1. **Web服务基础**: - **SOAP (Simple Object Access Protocol)**:Web服务的核心协议,用于交换结构化信息,以XML格式封装...

    (五)Java EE 5实现Web服务(Web Services)及多种客户端实例-移动客户端.rar

    Java EE 5是Java平台企业版的一个重要版本,它提供了丰富的功能来开发...文档中的"(五)Java EE 5实现Web服务(Web Services)及多种客户端实例-移动客户端.pdf"应详细讲解了这些过程和技巧,建议仔细阅读以加深理解。

    (一)Java EE 5实现Web服务(Web Services)及多种客户端实例-原理.rar

    本资料主要探讨了在Java EE 5环境中如何实现Web服务以及如何创建不同的客户端实例来调用这些服务。 首先,理解Web服务的基础概念至关重要。Web服务基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言),它们...

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

    在这个教程中,我们将深入探讨Java EE 5如何实现Web服务,并通过多种客户端实例来展示其实用性。 首先,我们要理解Java EE 5中的Web服务基础。这通常涉及到JAX-WS(Java API for XML Web Services)规范,它是Java...

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

    总之,Java EE 5提供的Web服务支持和瘦客户端实例展示了如何在企业级环境中构建可扩展、跨平台的解决方案。通过理解这些概念和技术,开发者能够更好地设计和实现分布式系统,提高系统的互操作性和可维护性。

    (六)Java Ee平台上实现Web服务及多种客户端实例-小结.rar

    本资源的标题"Java EE平台上实现Web服务及多种客户端实例-小结"表明它聚焦于总结如何在Java EE环境中创建和消费Web服务,并提供了不同客户端的应用示例。 Web服务是一种通过HTTP协议传输数据的方式,它允许不同...

    java webservices例子,java webservices,webservices

    在Java中,通常使用JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web Services)来实现Web服务。 **2. MyEclipse 8.6支持** MyEclipse是Eclipse IDE的扩展,特别适合Java EE项目的开发...

    基于Web Services和Java EE的SOA实现.pdf

    Web Services是一种基于XML的技术,它提供了一种标准的方式来实现服务的描述、发现和调用。Web Services架构包含了SOAP、WSDL、UDDI等支持服务请求者与服务提供者之间的交互,以及用于Web服务发现的规范。XML是Web ...

    java6实现webservices 超级简单有操作说明易入门

    Java 6实现Web服务(Webservices)是一个重要的IT技术话题,它涉及到企业级应用程序之间的数据交换和通信。Web服务通常使用XML(eXtensible Markup Language)进行数据表示,并通过SOAP(Simple Object Access ...

    JAX-WS_Java API for XML Web Services

    JAX-WS(Java API for XML Web Services)是Java平台上的一个标准API,用于构建和消费基于Web服务的应用程序。这个框架使得开发人员能够轻松地创建、部署和使用XML Web服务。JAX-WS是Java EE的一部分,但也可以在...

    应用Java API开发Web Services.rar Web Swrvices 的详细解说,内容丰富全面

    - JAX-WS是Java平台上的Web服务开发框架,用于创建SOAP Web服务和客户端。它包含了WS-I Basic Profile的实现,确保跨平台的互操作性。 5. **Java API for RESTful Web Services (JAX-RS)** - JAX-RS是Java EE的一...

    Java 调用.NET web服务

    本文将详细介绍如何在Java中调用.NET Web服务,涉及的关键技术包括WSDL(Web Services Description Language)、JAX-WS(Java API for XML Web Services)以及一些必要的工具和步骤。 1. **理解WSDL**: WSDL是描述...

    Java EE 5 Power and productivity with less complexity.doc

    例如,文章中提到的“RideSynergy”应用可能是用来演示如何利用Java EE 5的Web服务和EJB 3.0功能来构建一个简化开发流程的实例。 综上所述,Java EE 5通过减少复杂性并提高开发者的生产力,巩固了其在企业级应用...

    java-webservice实例

    Java WebService实例是一个实际操作教程,它展示了如何在Java环境中创建和发布Web服务。Web服务是一种基于开放标准的,能够使应用程序在不同平台之间交换数据的技术。本实例着重于使用Java API for XML Web Services...

    Beginning Java EE 7.pdf

    - **Web 服务客户端与服务端**:讲解如何在 Java 应用中实现 SOAP Web 服务的客户端和服务端。 ##### 第15章:RESTful Web 服务 - **REST 架构风格**:介绍 RESTful 架构的基本原理和设计理念。 - **JAX-RS 规范**...

    WebService客户端调用服务器数据库

    - **JAX-WS (Java API for XML Web Services)**:是Java SE和Java EE中的标准API,用于构建和部署Web服务。通过JAX-WS,开发者可以创建服务端点和客户端代理。 4. 数据库连接: - **WebService与数据库交互**:...

    使用Myeclipse-8.5开发基于JAX-WS的Web-service实例.docx

    本文档主要介绍了使用 Myeclipse 8.5 开发基于 JAX-WS 的 Web Service 实例的步骤,涵盖了 Web 服务程序和客户端程序的基本流程,以及在 Weblogic 10.3.4 中部署 Web 服务的步骤。 一、Web 服务开发环境 * JAVA ...

    java-ee-warehouse Java学习资料

    9. **WS(Web Services)**:Java EE支持创建和消费Web服务,如JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。 10. **JNDI(Java Naming and Directory Interface)**:...

    Professional Java EE Design Patterns

    - RESTful Web Services(第13章)介绍了构建基于REST架构风格的Web服务,使Web服务与客户端之间能够进行无状态的通信。 - Model-View-Controller(MVC)模式(第14章)是一个结构型模式,用于分离业务逻辑、用户...

    《JAVA WEB服务应用开发详解》代码

    5. **Web Services**:如SOAP和RESTful服务,Java提供了JAX-WS和JAX-RS规范来创建和消费这些服务。理解如何定义WSDL,创建SOAP服务,以及使用JSON进行RESTful交互,是现代Web开发的重要技能。 6. **WebSocket**:...

Global site tag (gtag.js) - Google Analytics