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开发环境通常包括以下步骤: 1. 安装Java开发工具包(JDK)并配置Java环境变量,确保命令行中可以正常运行Java命令。 2. 安装并配置Java应用服务器,如Apache Tomcat。在Eclipse集成开发环境...
MyEclipse + Tomcat 6.0 + Flex Builder 3 + BlazeDS,软件的下载请直接问 goole。 配置服务器端(MyEclipse + Tomcat 6.0 + BlazeDS)
标题与描述均聚焦于“Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ ...通过以上步骤,可以构建一个集成了Flex4.5、Tomcat6.0、MyEclipse 9.0、Java和Blazeds的完整开发环境,为开发高性能的富互联网应用程序奠定坚实的基础。
1. **环境准备**:首先,确保安装了Adobe Flex SDK、Java JDK、Eclipse IDE(带有Flex和Java插件)、Tomcat或其他J2EE服务器,以及Blazeds库。 2. **创建Flex项目**:在Eclipse中,使用Flex Builder插件创建一个新...
《Flex+Java+Spring+Hibernate+BlazeDS整合详解》 在现代的Web开发中,Flex作为客户端的富互联网应用程序(RIA)框架,与Java、Spring、Hibernate等后端技术结合,可以构建出高效、交互性强的Web应用。本文将详细...
总之,这个“Flex+blazeds+java企业门户网站完整源码”是一个很好的学习资源,可以帮助开发者掌握如何利用Flex构建富用户体验的Web应用,并通过BlazeDS实现与Java后端的有效交互,进而构建高效、功能强大的企业级...
### Flex与Java交互技术详解...此外,对于那些希望深入了解Flex与Java集成开发的技术人员来说,本文提供的示例代码和配置过程具有很高的参考价值。希望本文能帮助大家更好地掌握这一技术栈,共同促进技术的进步与发展。
本项目“Flex+Java+BlazeDS多文件上传”提供了一个完整的解决方案,利用Adobe Flex作为前端客户端,Java作为后端服务器,BlazeDS作为两者之间的通信桥梁。以下是这个项目涉及的关键知识点的详细解释。 1. **Flex**:...
通过以上知识点的学习和实践,你将具备使用Flex+Java开发富互联网应用的基本能力。记得在实践中不断积累经验,解决遇到的问题,提升自己的技术水平。同时,阅读博客和参与社区讨论也是持续学习和成长的重要途径。
本方案提供了一种集成化的开发环境,即"MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案",它将多个流行的技术框架整合在一起,为Web应用程序开发提供了一个强大的平台...
9. **配置 Blazeds**:Blazeds 的配置涉及设置 Java 远程对象(Remote Objects, RO)和消息传递服务,使 Flex 客户端能够与 Java 服务器端进行数据交换。`remoting-config.xml` 文件用于定义目的地(destination),...
- **MyEclipse 8.5**:一款基于Eclipse的集成开发环境,主要用于Java Web应用的开发,内置了对Spring的支持。 2. **项目创建**: - **Java Web项目**:首先,在MyEclipse中创建一个新的Java Web项目,命名为`...
文档的描述提到了安装和配置各个组件的步骤,包括MyEclipse、Flex Builder、BlazeDS、Tomcat、SQL Server、JDBC驱动和proxool连接池等,这些都是为了搭建一个完整的开发环境。此外,文档还涵盖了项目构建的各个阶段...
3. MyEclipse:一个强大的Java EE集成开发环境,支持多种框架和技术,包括Flex。 4. Tomcat:Apache Tomcat,一个流行的Java Servlet和JavaServer Pages(JSP)容器,作为Web服务器运行。 5. BlazeDS:Adobe的开源...
在Flex工程和Java工程独立配置的情况下,BlazeDS作为一个中间件,提供AMF(ActionMessage Format)通信协议,显著提升了客户端和服务器之间的数据传输效率。 AMF是一种二进制协议,对比XML等基于文本的协议,它的...
SDK提供了构建Flex应用所需的库和工具,而Flex Builder(现在称为Flash Builder)是一个集成开发环境(IDE),为Flex开发提供了便捷的代码编辑、调试和部署功能。 2. **MXML**:MXML是Flex的主要标记语言,用于构建...