`

Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

 
阅读更多
http://blog.csdn.net/assin/article/details/4277403



无论是哪种服务器端技术都能够很轻松地应用 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” 字符串。
分享到:
评论

相关推荐

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).pdf

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立).pdf

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

    MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,软件的下载请直接问 goole。 配置服务器端(MyEclipse + Tomcat 6.0 + BlazeDS)

    flex+BlazeDS整合j2ee开发环境的配置过程

    flex+BlazeDS整合j2ee开发环境的配置过程,实现flex调用java类

    java+flex+blazeds+sqlserverk开发文档.docx

    本文详细介绍了,将Flahbuilder集成到Myeclipse中,Myeclipse中Jdk和Tomcat环境配置,通过jdbc连接数据库,Flex与java通讯通过blazeds方式等内容

    BlazeDS配置

    Flex+JAVA+BlazeDS开发环境配置

    Flex+Lcds+FB3+Java+MyEclipes7.5

    很多人在帖子和群中问到过一些关于建立Flex+LCDS(FDS)工程的问题,由于操作上的东西,很难简单说清楚,于是写了一个简单的教程(本来很早就答应过的,结果被newfish逮住做东西,加上公司的事,一直抽不出时间哈,...

    flex+spring+struts2+ibatis 整合的eclipse工程

    lib1,lib2下载不需要资源分,详细的开发环境搭建请参考我本人博客,另外flex整合java是使用了BlazeDS,我也提供了下载资源 搭建步骤:一,下载blazeDS 放到tomcat webapp下 二,下载flex+spring+struts2+ibatis ...

    flex与Myeclipse、blazeds整合开发

    详细介绍jdk环境配置、tomcat服务器配置,以及如何利用java后台和flex前端结合进行web技术开发的过程。其中blazeds用于java和flex通信

    Flex+BlazeDS

    因为现书上以及网络上有关flex和java进行交互的例子,或多或少都不是很详细,如果按部就班,以现在的配置环境出不来结果,所以就把我自己的开发平台以及感受写了下来,希望对学习者能有帮助。(注:文档中有一步说到...

    flex and blazed blazeds简单例子

    折腾了一周的时间想做个flex+java的helloworld例子,可是怎么都运行不出来,今天终于运行出来了。 总结,共有一下几种方法: 1,flex项目和web项目在同一项目。 2,flex项目和web项目为两个项目,进行交互。 ...

    Flex开发手册 环境搭建手册

    一、与Java整合(开发环境:Eclipse3.2.2,MyEclipse5.5,Flex SDK3.2) 1、 Java工程和Flex工程分开; 在Java工程中:导入BlazeDS.rar中的包,添加Apache Tomcat库。WEB-INF目录下新增flex文件夹,新建messaging-...

    Flex通过BlazeDS与JAVA通信之HelloWord(图解)

    开发环境工具 1、Flex Builder3。 2、myeclipse6.5。 3、Java Development Kit(JDK),版本1.5以上(包括1.5)。这里使用的是1.6。 4、BlazeDS3.2。(下载地址: ...

    BlazeDS 整合 Flex HelloWorld 示例

    本文档阐述了BlazeDS整合Flex示例,包括开发环境、开发依赖库、创建Java工程、Flex客户端程序

    Flex企业应用开发实战源代码

    本书对Flex的基础知识着墨不多,所有内容都围绕Flex+Java这一企业级应用开发技术展开,侧重于对Flex技术原理、企业级应用的架构思想和实现方法的讲解,所以书中的内容不会随着Flex版本的升级而过时。 第1章 Flex...

    跟我StepByStep学FLEX教程-王一松.pdf

    1 23 跟我StepByStep学FLEX教程------Flex+LCDS(BlazeDS)+Java开发 1 24 跟我StepByStep学FLEX教程------Demo11之HelloJavaFlex 1 25 跟我StepByStep学FLEX教程------Java&Flex之RemoteObject 1 26 跟我...

    BlazeDS开发者向导

    BlazeDS 是由 Adobe 公司免费发布,基于 Java 远程对象和 Web 消息服务, 面向 Adobe Flex 客户端和 AIR (Adobe Integrated Runtime) RIA (Rich ...本文档介绍 BlazeDS开发环境,创建客户端和服务器端应用程序

    Spring攻略(第二版 中文高清版).part2

    12.1 设置Spring Roo开发环境 483 12.1.1 问题 483 12.1.2 解决方案 483 12.1.3 工作原理 483 12.2 创建第一个Spring Roo项目 486 12.2.1 问题 486 12.2.2 解决方案 486 12.2.3 工作原理 486 12.3 ...

    Spring攻略(第二版 中文高清版).part1

    12.1 设置Spring Roo开发环境 483 12.1.1 问题 483 12.1.2 解决方案 483 12.1.3 工作原理 483 12.2 创建第一个Spring Roo项目 486 12.2.1 问题 486 12.2.2 解决方案 486 12.2.3 工作原理 486 12.3 ...

Global site tag (gtag.js) - Google Analytics