转自[url]http://blog.sina.com.cn/s/blog_3ecb9b110100b2qu.html[/url]

[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” 字符串。

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

  1. flex4 BlazeDS 入门及配置

    在flex4中数据交互的方式有很多,开源免费首选BlazeDS. Flash Player支持AMF(Action Message Format)协议,这个协议能够缓解由基于文本的协议导致的传输瓶颈问 ...

  2. BlazeDS入门及配置

    无论是哪种服务器端技术都能够很轻松地应用 XML,因为 XML 完全是一个基于文本的协议.像 XML 这样基于文本的协议的缺点是额外的数据抽象层的编写与维护工作相对很沉重.此外,如果数据需要序列化和反 ...

  3. flex java 开发环境搭建_Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立) 2019年12月07日 阅读数:7 这篇文章主要向大家介绍Flex+JAVA+BlazeDS开发环境配置(Java工程 ...

  4. Ansible Tower 入门 1 - 配置主机清单和访问凭证

    Ansible Tower 入门 1 - 配置主机清单和访问凭证 Ansible Tower 入门 2 - 通过模板运行 Git 上的 Playbook 和 Role Ansible Tower 入门 ...

  5. linux apache gzip压缩,Linux入门教程:配置Apache开启gzip压缩传输,gzip压缩 LoadModul

    Linux入门教程:配置Apache开启gzip压缩传输,gzip压缩 LoadModul 开启模块 打开httpd.conf后,先将下面两行配置前面的#号去掉,这样apache就会启用这两个模块,其 ...

  6. Turbot4机器人入门教程-配置网络

     系列文章目录: Turbot4机器人入门教程-硬件清单 Turbot4机器人入门教程-软件清单 Turbot4机器人入门教程-NoMachine远程控制 Turbot4机器人入门教程-配置网络 Tu ...

  7. ROS2GO之慕课《机器人操作系统入门》配置与使用(2018-2019-2)

    ROS2GO之慕课<机器人操作系统入门>配置与使用(2018-2019-2) icourse163中国大学MOOC<机器人操作系统入门>第二次开课! 新版本地址 已将新版本代码 ...

  8. 海洋cms新手入门安装配置教程

    在安装本系统前,请先确认您的服务器环境是否符合海洋cms环境要求: Windows 平台: IIS/Apache/Nginx + PHP(5.x) + MySQL(5.x) Linux/Unix 平台 ...

  9. Alibaba Sentinel功能入门与配置持久化

    Alibaba Sentinel功能入门与配置持久化 文章目录 Alibaba Sentinel功能入门与配置持久化 1.准备工作 2.整合与启动 2.1项目引入依赖: 2.2项目yaml配置 2.3 ...

  10. 施耐德APC 7921/7921B入门IP配置,(串口设置IP)

    标题 施耐德APC 7921/7921B入门IP配置,(串口设置IP) 卸载前面: 某宝入手一款二手盒子(性价比高啊),无良商家提出有偿设置IP,然后回来自己搞,这款盒子施耐德官网,APC官网都找不到 ...

最新文章

  1. 6-5-树的双亲表示法-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版...
  2. Numpy入门教程:11. 时间日期和时间增量
  3. Vi非正常退出导致敏感信息泄露
  4. C++动态数组再总结
  5. 比特币现金诞生一周年,BCH的未来在哪?
  6. 2021湖南高考成绩分段查询,2021年湖南高考分数一分一段位次表,湖南高考个人成绩排名查询方法...
  7. python第三方库排行-Python模块汇总(常用第三方库)
  8. 有趣c语言编程经典例子,C语言简单有趣例子总结ZWF.pdf
  9. 微软推出 .NET 官方社区论坛
  10. Binary tree paths-深度优先遍历DFS
  11. DXBC2HLSL Tool
  12. 导致UIButton半透明的原因
  13. 给自己做一块开发板 #AnyBoard
  14. Android usb网卡配置ip地址,安卓手机通过电脑USB上网设置教程
  15. word-breakbreak-all和word-wrapbreak-word的区别
  16. 百度 Apollo 轨迹规划技术分享笔记
  17. Python 分组处理
  18. 人源肿瘤细胞异种移植(CDX)小鼠模型 CDX模型的优势简介
  19. 队列:小组队列(插队)
  20. 公民SF证号码的构成

热门文章

  1. 计算机公式怎么计算合计,excel表格函数数据求和公式是什么-Excel中怎么用公式计算合计...
  2. Xbox360 十年祭:那些荣耀、激昂、内乱与未尽的未来
  3. word打开文档很久很慢_word文档 excel文档打开速度比较慢怎么办
  4. [苹果开发者账号]06 转让开发者账号后,开发者年费自动续费问题
  5. matlab 菱形符号,matlab 图形符号
  6. web网页设计期末课程大作业——电影介绍5页HTML+CSS制作
  7. android 前摄屏幕补光,移动终端的前置摄像头的补光方法及装置与流程
  8. 为什么国内VPS与国外的价格相差甚多?
  9. Linux vps 主机有免费稳定的推荐吗?
  10. 【图像处理】多光谱 波长波段划分 主要波段特性 植被遥感原理 典型植被指数