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

[AS3 狂想曲 K.07] BlazeDS 入门及配置 [FL 车在臣]

阅读更多
转自http://blog.sina.com.cn/s/blog_3ecb9b110100b2qu.html

[AS3 狂想曲 K.07] BlazeDS 入门及配置 [FL 车在臣] (2008-10-04 18:57:43)
标签:flash as flex blazeds 配置 helloworld myeclipse tomcat amf it   分类:AS3 狂想曲

    无论是哪种服务器端技术都能够很轻松地应用 XML,因为 XML 完全是一个基于文本的协议。像 XML 这样基于文本的协议的缺点是额外的数据抽象层的编写与维护工作相对很沉重。此外,如果数据需要序列化和反序列化,那么这个数据抽象层在客户端和服务器端都会占用很多资源。
    Flash Player 可以支持另外一种传输协议,这个协议能够缓解由基于文本的协议导致的传输瓶颈问题,能够帮助开发者以更简单的方式与服务器交互。这就是 AMF(Action Message Format)。它是一个二进制格式的协议,能够替代用于传输XML的基于文本的协议而在 HTTP 协议之上交换数据。采用 AMF 的应用中,数据抽象层完全可以省去,客户与服务器间的通讯效率比传统的应用基于文本的协议传输要高得多。
    BlazeDS 中包含了 AMF 的 Java 实现,可以用来与服务器端的 Java 对象远程交互,也可以用来在客户端之间传递消息。开发人员可以借助 BlazeDS 的远程技术简单地调用 POJO、Spring 服务或EJB方法。开发人员可以通过其消息系统从客户端向服务器端发送消息,当然也可从服务器端向客户端发送消息。
    BlazeDS 也可以与其他一些消息系统结合使用,比如JMS、ActiveMQ。由于其远程技术与消息系统采用的方式是在 HTTP 协议上传输 AMF 数据,BlazeDS 因此在性能上拥有很大优势,同时也避免了额外的数据抽象层的处理工作。BlazeDS 在很多基于 Java 的应用服务器环境下都能正常工作,这些服务器包括 Tomcat、WebSphere、WebLogic、JBoss 以及 ColdFusion。此外,无论是 web(在 Flash Player 中运行)还是桌面(在Adobe AIR下运行)的 Flex 应用程序中,BlazeDS 的使用都很简单。
    简单来说 BlazeDS是一个基于服务器的 Java 远程调用和 Web 消息传递技术,它能够让后台的 Java 应用程序和运行在浏览器上的 Flex 应用程序相互通信。BlazeDS 是 Adobe 的一个开源项目,里面提供了 Java 封装 AMF3 格式的方法。下面通过一个 HelloWorld 的例子对它做一个初步的了解。

一、所需的软件:
MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,软件的下载请直接问 goole。

二、配置服务器端(MyEclipse + Tomcat 6.0 + BlazeDS)

1. 先将 BlazeDS 压缩包解开,然后找到 blazeds.war 再用 winrar 解开。


2. 打开 MyEclipse,配置 Tomcat 服务器:Window -> Preferences -> MyEclipse -> Application Servers -> Tomcat -> Tomcat 6.x 配置 Tomcat home directory 为 Tomcat 的安装路径,同时选择 Tomcat server -> Enable。


3. 接下来,在 MyEclipse 中创建一个 Web Project,工程名 blazeds_project。


5. 在左侧视图中选中 WebRoot 右键 -> Import -> FileSystem -> 选择 BlazeDS 安装目录下的 blazeds 文件夹。选中后打勾,Finish。出现 Override 提示框,选择 Yes To All。

6. 下面在本工程的 src 目录下编写一个 Java 类(包名 blog.sina.yyy98,类名 HelloWorld):
package blog.sina.yyy98;

public class HelloWorld {
    public String getHello() {
        return "Hello World";
    }
}

7. java 类写好了,下面要在 remoting-config.xml 中声明这个类(黑体字部分):
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
    class="flex.messaging.services.RemotingService">

    <adapters>
        <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
    </adapters>

    <default-channels>
        <channel ref="my-amf"/>
    </default-channels>

    <destination id="helloWorld">
        <properties>
            <!-- 这里要写完整路径:包名 + 类名 -->
            <source>blog.sina.yyy98.HelloWorld</source>
        </properties>
    </destination>
</service>


8. 好了,大功告成,现在将这个项目部属到 Tomcat 中,然后启动 Tomcat。

三、创建 Flex 客户端

1. 新建一个 Flex 项目,名称为 flex_client,选择 Application server type:J2EE。


2. 这是关键的一步,Root folder 为刚刚在 Tomcat 中部署的 blazeds_project 项目路径。为了保持一致性,Root URL 和 Context root 中的相对路径的名称都与该 web 项目名称保持相同。这三项内容填写好后,需要点击 “Validate Configuration” 按钮,进行配置验证(此时最好让 Tomcat 处于开启状态)。验证完成后点击 Finish。

3. 最后编写客户端(flex_client.mxml):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
    <![CDATA[
        import mx.rpc.events.FaultEvent;
        import mx.controls.Alert;
        import mx.rpc.events.ResultEvent;
      
        private function resultHandler(event:ResultEvent):void {
            Alert.show(event.result.toString(), "成功");
        }
      
        private function faultHandler(event:FaultEvent):void {
            Alert.show(event.fault.toString(), "失败");
        }
        ]]>
    </mx:Script>
  
    <!-- destination 属性值要和 remoting-config.xml 中 destination 的 id 一致-->
    <mx:RemoteObject id="remoteObject"
                      destination="helloWorld"
                     result="resultHandler(event)"
                     fault="faultHandler(event)"/>
  
    <mx:Button label="发送消息" click="remoteObject.getHello()" x="256.5" y="197"/>
</mx:Application>
AS 表示法:
    var remoteObject:RemoteObject = new RemoteObject();
    remoteObject.destination = "helloWorld";
    remoteObject.addEventListener(ResultEvent.RESULT, resultHandler);
    remoteObject.addEventListener(FaultEvent.FAULT, faultHandler);

4. Ok,完成。运行 felx_client,收到服务器端返回的 “Hello World” 字符串。

分享到:
评论

相关推荐

    Blazeds入门教程.doc

    - **Binary Distribution版**:仅包含blazeds.war文件,适合轻量级配置。 - **Source Code版**:包含Blazeds的Java源代码,适合二次开发。 4. **Java** - Java是一种广泛使用的面向对象编程语言,适用于多种应用...

    blazeds-bin-3.3.0.22497.zip

    配置BlazeDS时,你需要修改blazeds.war中的配置文件,例如flex-config.xml和services-config.xml,定义Remoting endpoints和MessageBroker channels。此外,你还需要在服务器端设置相应的数据源,并确保Java应用程序...

    Flex4.X+BlazeDS+Spring3L实战开发在线书店二

    在本课程中,我们将深入探讨如何使用Flex 4.6、BlazeDS、Spring 3 和其他相关技术来构建一个实际的在线书店应用。Flex 4.6 是Adobe Flex框架的一个重要版本,它提供了强大的富互联网应用程序(RIA)开发工具,使...

    BlazeDS入门教程.

    - 将压缩包中的`blazeds.war`文件解压到Tomcat的`webapps`目录下。 - 如果Tomcat正在运行,请停止服务再重新启动以加载新部署的应用程序。 2. **配置BlazeDS**: - 在解压后的`blazeds`文件夹中,找到`WEB-INF`...

    BlazeDS入门:HTTP Service

    Binary Distribution 版只包括 blazeds.war,是最简配置。Source 版包含 blazeds 的 Java 源代码,适合 Java 程序员使用。 二、新建 BlazeDS 工程 要新建 BlazeDS 工程,需要创建 Flex 工程,勾选 Use remote ...

    Flex Blazeds入门教程

    ### Flex Blazeds入门教程详解 #### 一、引言 Flex Blazeds入门教程,由刘铭朝撰写于2008年3月21日,旨在解决开发者在搭建Flex与LCDS(Flex Data Services)工程时遇到的常见问题。这篇教程不仅详细介绍了创建项目...

    ds-console.war blazeds.war samples.war

    这里提到的三个文件——`ds-console.war`、`blazeds.war`和`samples.war`,都是这种类型的文件,它们各自承载了特定的功能和用途。 首先,`ds-console.war`很可能是一个数据服务控制台的应用程序。"DS"通常指的是...

    flex blazeds的入门例子

    4. BlazeDS配置:可能包含服务定义和服务端点配置,用于设置Flex与Java服务器的通信。 学习这个入门示例,你需要了解以下几个关键知识点: 1. Flex编程:包括MXML和ActionScript的基础,以及如何创建用户界面组件...

    blazeDS war包及Flex结合blazeDS的入门程序

    ### BlazeDS War包及Flex结合BlazeDS的入门程序 #### 一、BlazeDS简介与功能 BlazeDS是一款由Adobe开发的开源服务器端软件,主要用来支持远程调用和消息传递服务。它能够实现Java应用服务器和Flex客户端之间的通信...

    blazeds一系列的jar包-4.0

    包含blazeds-common-4.0.0.14931.jar、blazeds-core-4.0.0.14931.jar、blazeds-proxy-4.0.0.14931.jar、blazeds-remoting-4.0.0.14931.jar

    blazeds-bin-4.0.1.17657.zip

    4. **Blazeds.war**: 这是BlazDS的核心Web应用程序,包含了运行时库和其他必要的组件。将这个WAR文件部署到Servlet容器(如Tomcat)上,即可启用BlazDS服务。开发者可以通过它创建数据服务、发布Java方法供Flex...

    flex与java--Blazeds学习(配置)

    首先需要下载 Blazeds 包并解压,然后将解压后的 `blazeds.war`、`ds-console.war` 和 `samples.war` 文件复制到 Tomcat 的 `webapps` 目录下。 ##### 2. 验证 Blazeds 是否配置成功 通过浏览器访问 `...

    blazeds配置步骤及源码

    Blazeds是一款由Adobe公司开发的服务器端技术,主要用于实现Flex和Java之间的数据交互。它是一个开源的服务器组件,能够帮助开发者构建富互联网应用程序(RIA),通过AMF(Action Message Format)协议,实现高效的...

    blazeds-turnkey-4.0.0.14931

    3. **数据代理服务**:BlazeDS提供了数据管理服务,可以将Java数据对象透明地映射到Flex客户端,简化了数据绑定和操作过程。 4. **通道集**:BlazeDS支持多种通信通道,如HTTP、HTTP Streaming、HTTP Polling和...

    最简单的BlazeDS实现flex与java通信.rtf

    最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...

    blazeds-core-3.2.0.3978.jar

    blazeds-core-3.2.0.3978.jar blazeds-core-3.2.0.3978.jar

    flex+blazeDS配置指南

    3. **编辑web.xml**:打开`webapps/flex/WEB-INF/web.xml`,在此文件中配置BlazeDS服务。需要添加或修改`&lt;servlet&gt;`和`&lt;servlet-mapping&gt;`元素来启动BlazeDS的Servlet。 4. **配置服务和通道**:BlazeDS通过XML配置...

    MyEclipse8.5+FlexBuilder4+Blazeds配置

    2. 将blazeds.war、ds-console.war、samples.war文件拷贝到Tomcat的webapps目录下。 3. 访问`http://localhost:8080/samples`验证Blazeds是否配置成功。 Blazeds是一个基于Java的服务器端技术,用于实现Flex客户端...

Global site tag (gtag.js) - Google Analytics