`
WaterSugar
  • 浏览: 94235 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

《BlazeDS开发指南》学习笔记(二):两个示例

    博客分类:
  • Flex
阅读更多

   按照手册内容,这里给出两个客户端和服务端示例代码,你可以编译、部署到BlazeDS服务器中进行体验,我使用的编辑器是Eclipse 3.4 + Flex Builder Plunin 3.0.1,BlazeDS使用的二进制包,服务器是Tomcat 6.0.18,而构建一个BlazeDS应用程序的一般流程如下:

 

  1、在WEB-INF/flex目录下的配置文件(一般为remoting-config.xml)中配置一个目的(destination),用他来进行客户端和服务端数据交换;

  2、在WEB-INF/flex目录下的配置文件(services-config.xml)中配置一个通道(channel),用它来封装数据以进行数据的网络传送;

  3、用MXML或者ActionScript编写Flex客户端;

  4、将客户端程序编译为SWF文件,并将它部署在BlazeDS服务器中。

 

  一、RPC服务例子

 

  Remoting Service是BlazeDS服务器中RPC服务的一种,它能够让客户端访问服务端POJOs的方法。在这个例子中,首先在服务端部署一个Java类:EchoService,用来返回客户端发送过来的字符串,具体代码如下:

 

package remoting;

public class EchoService
{
  public String echo(String text) {
    return "Server says: I received '" + text + "' from you";
  }
}

 

   echo()方法带有一个字符串的参数,并将它与另外一些字符串组合后返回。将该文件编译,把生成的EchoService.class文件拷贝到WEB-INF/classes/remoting目录下。

 

  接下来,在WEB-INF/flex/remoting-config.xml文件中定义目的,代码如下:

 

<destination id="echoSericeDest" channels="my-amf">
  <properties>
    <source>remoting.EchoService</source>
  </properties>
</destination>

 

  source定义了目的相对应的具体Java类,而channels定义了该目的使用的通道,而通道的定义则在WEB/flex/services-config.xml文件中定义,具体如下:

 

<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
   <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint" />
  <properties>
    <polling-enabled>false</polling-enabled>
  <properties>
</channel-definition>

 

  服务端的工作完成了,如果使用的是BlazeDS的二进制版本(blazeds.war),在Flex Builder环境下,其中通道的定义默认就完成了,而在目的的定义中,存在一个默认的通道配置(default-channels),所以,在定义目的的时候如果是使用的默认通道配置也可以省略通道。

 

  客户端编码主要就是Flex的开发,用到的控件主要就是RemoteObject,在该示例中就是很简单的在文本框中显示返回的结果,代码如下:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">

<mx:Script>
  <![CDATA[
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;

    private function resultHandle(event:ResultEvent):void
    {
      ta.text += "Server responded: " + event.result + "\n";
    }

    private function faultHandle(event:FaultEvent):void
    {
      ta.text += "Received fault: " + event.fault + "\n";
    }

    private function echo():void
    {
      var text:String = ti.text;
      ro.echo(text);
    }
  ]]>
</mx:Script>

<mx:RemoteObject id="ro" destination="echoServiceDest" result="resultHandle(event);" fault="faultHandle(event);" />
<mx:Label text="Enter a text fro the server to echo" />
<mx:TextInput id="ti" text="Hello world!" />
<mx:Button label="Send" click="echo();" />
<mx:TextArea id="ta" width="100%" height="100%" />
</mx:Application>

 

  将该文件编译成SWF文件,然后部署到BlazeDS服务器中,启动Tomcat服务器,在浏览器中浏览该文件,将会看到运行的结果,如下图。

 

 

 

  整个代码请点击下载(解压后拷贝rpc目录到Tomcat的webapps目录下):RPC服务例子

 

   另一个示例看下一篇文章:消息服务示例。

 

分享到:
评论

相关推荐

    《BlazeDS开发指南》学习笔记

    ### 《BlazeDS开发指南》关键知识点概览 #### 一、BlazeDS简介及其功能 BlazeDS,作为Adobe公司的一款免费开源产品,旨在简化企业级应用的开发过程,特别是那些涉及到Flex和Java技术的项目。它源于Adobe的另一款...

    blazeds开发指南

    2. **blazeds_devguide.pdf**:这是Blazeds的开发指南,通常包含详细的API参考、教程、最佳实践和示例代码。开发者可以通过这份文档学习如何使用Blazeds的各种功能,如AMF(Action Message Format)通信协议、Flex ...

    BlazeDS开发指南

    1. 开源:BlazeDS 是免费提供的,降低了开发成本。 2. 高效:AMF 协议提高了数据传输速度和性能。 3. 强大的服务支持:RPC 服务和消息服务提供了丰富的功能,适应不同应用场景。 4. 灵活性:支持多种数据持久化机制...

    BlazeDS开发者指南中文版

    **二、BlazeDS开发流程** 1. **设置环境**:首先需要安装Adobe Flex Builder或使用其他IDE集成BlazeDS库,同时在服务器端部署BlazeDS服务。 2. **创建服务**:在服务器端定义Java服务,这些服务通常以Spring Bean的...

    《BlazeDS开发指南》.doc

    在开发BlazeDS应用程序时,开发者需要了解如何配置BlazeDS服务端,包括部署必要的库文件、编辑配置文件以及在web.xml中定义MessageBrokerServlet和Session监听器。客户端编程涉及到如何使用Flex SDK提供的控件来调用...

    BlazeDS权威指南与API

    在阅读"BlazeDS开发指南与API"时,应结合实践操作,尝试自己配置和使用BlazeDS,遇到问题时查阅官方文档或社区资源。这样不仅可以巩固理论知识,还能提升解决问题的能力。记住,熟练掌握BlazeDS不仅意味着你可以构建...

    BlazeDS开发者指南(中文版和英文版)

    "BlazeDS开发者指南" 提供了全面的技术指导,涵盖了从安装、配置到实际应用开发的全过程。中文版和英文版方便不同语言背景的开发者学习,帮助他们更好地理解和运用BlazeDS。 总的来说,BlazeDS是构建RIA的关键技术...

    BlazeDS开发者指南 blazeds_devguide

    BlazeDS开发者指南是Adobe公司为使用BlazeDS框架进行富互联网应用(RIA)开发的开发者提供的一份详细参考资料。BlazeDS是一个开源项目,它允许服务器与客户端之间通过AMF(Action Message Format)进行数据交换,...

    flex+blazeDS配置指南

    而BlazeDS是Adobe提供的一个免费服务器端组件,用于实现Flex与Java后端的数据通信。本文将深入探讨如何配置Flex与BlazeDS,让它们协同工作,实现高效、稳定的数据交换。 首先,我们需要准备必要的工具和环境。...

    [BDS]BlazeDS开发者指南

    #### 二、BlazeDS组成部分 - **客户端程序**:这部分主要负责与用户交互以及与服务器进行数据通信。常见的客户端程序使用Flex或AIR构建,同时也支持HTML和JavaScript技术。 - **服务端程序**:BlazeDS的服务端部分...

    BlazeDS 开发资料

    本资料包包含了两份重要的资源,分别是《BlazeDS开发指南》学习笔记.doc和blazeds_devguide.pdf,它们将帮助我们深入了解BlazeDS的开发过程。 首先,《BlazeDS开发指南》学习笔记.doc可能包含了作者在研读官方文档...

    BlazeDS,PureMVC

    BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...

    flex blazeDS开发使用手册,对于集成blaze开发很有用处。

    Flex BlazeDS开发使用手册是Adobe官方提供的一份详尽指南,旨在帮助开发者高效地集成BlazeDS框架到Flex应用程序中。BlazeDS是一款开源的服务器端技术,它为富互联网应用(RIA)提供了数据推送、消息传递和Remoting...

    BlazeDS开发者指南.pdf

    通过阅读《BlazeDS开发者指南》,开发者可以学习到如何利用BlazeDS构建高性能、交互性强的Web应用程序,提升用户界面的动态性和响应性。指南提供的实例演示了如何创建RPC服务和消息服务,帮助开发者快速上手实践。

    BlazeDS开发者指南.rar

    总的来说,“BlazeDS开发者指南”涵盖了BlazeDS的基础概念、核心功能、配置方法、集成策略、性能优化等多个方面,是开发人员深入了解和熟练掌握BlazeDS技术的宝贵资源。通过深入阅读和实践,你可以提升自己在Flex和...

    BlazeDS 整合 Flex HelloWorld 示例

    BlazeDS 整合 Flex HelloWorld 示例是一个初学者入门教程,主要介绍了如何在JavaEE环境中集成BlazeDS和Flex,创建一个简单的远程调用服务。BlazeDS是一个开源项目,提供了与Adobe Flex之间的实时数据交互,使得Flex...

    blazeds开发者指南中英文对照版

    ### BlazeDS开发者指南知识点 #### 一、BlazeDS简介 BlazeDS是Adobe公司推出的一款强大工具,专为Adobe Flex或Adobe AIR等客户端应用程序提供高效、可扩展的远程访问和消息服务。它允许客户端应用与服务器端数据...

    BlazeDs开发应用.pdf

    BlazeDS是一款由Adobe公司推出的免费开源产品,它是Lightweight ColdFusion Data Services (LCDS)的精简版,主要用于Web开发,特别是针对Flex和AIR客户端。BlazeDS的主要目标是促进客户端与服务端之间的数据交互,...

Global site tag (gtag.js) - Google Analytics