什么是BlazeDS呢?BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用
程序和运行在浏览器上的Flex应用
程序相互
通信。在各大搜索引擎里,关于BlazeDS的
中文教程来来去去都是那几篇,而且都是使用Eclipse来开发Flex的(用Eclipse开发Flex跟Java很不错的)。这篇文章将会尝试着使用Flex
Builder 3,用一个经典的“HelloWorld”
例子来让你学会BlazeDS的使用方法。
在开始之前,你需要安装JDK和Tomcat并实现成功配置,详细请看:
Tomcat 6.0 配置。
一、我电脑上的配置是如下四点,如果你电脑上的配置不同于以下四点,可能需要你对你的电脑进行修改一下:
1、Window XP;
2、Tomcat 6.0,安装在“C:/Program Files/Apache Software Foundation/Tomcat 6.0/”,下文会使用“[tomcat-home]”来代替这长长的目录路径;
3、Tomcat服务器使用端口8080;
4、使用Flex Builder 3而非Eclipse。
二、如果你对以下操作比较陌生,那你应该先熟悉一下以下操作:
1、写一个Java文件并编译它;
2、使用Flex Builder 3;
3、停止和开户Tomcat服务器。
三、下载BlazeDS:
1、网址:
http://opensource.adobe.com/wiki/display/blazeds/Release+Builds ;
2、下载那个“BlazeDS binary distribution”(
http://download.macromedia.com/pub/opensource/blazeds/blazeds_bin_3-0-0-544.zip);
i. 把那个 .zip 文件保存到你的电脑上
ii. 里面有两个文件:blazeds.war 和 blazeds-bin-readme.html
iii. 把里面的 blazeds.war 文件解压到这个目录下:[tomcat-home]/webapps
3、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);
4、打开这个目录:[tomcat-home]/webapps
i. 你应该会看到一个名为“blaseds”的文件夹
ii. 在blaseds文件夹里,会有一个名为“WEB-INF”的文件夹
iii. 在WEB-INF文件夹里会有很多文件夹,其中有一个名为“
classes”的文件夹。Flex应用程序需要使用到的Java
class就是放到这个文件夹里的
iv. 还有一个名为“
flex”的文件夹,它里面有一个remoting-config.xml,我们要在这个remoting-config.xml文件里添加destination结点来告诉Flex应用程序如何连接上Java class的
四、使用文本编辑器编写以下这个Java文件并命名为“HelloWorld.java”:
-
packagecn.riahome.java;
-
-
publicclassHelloWorld{
-
-
publicHelloWorld(){
- }
-
-
publicStringgetHelloWorld(){
-
return"HelloWorld!";
- }
- }
编译这个Java文件并得到HelloWorld.class文件。在 [tomcat-home]/webapps/blazeds/WEB-INF/classes 目录下新建一个名为“cn”的文件夹,然后在cn文件夹新建一个“riahome”文件夹,接着在riahome文件夹里新建一个“java”文件夹,最后把刚才编译得到的HelloWorld.class文件放到java文件里,HelloWorld.class的路径应该为:[tomcat- home]/webapps/blazeds/WEB-INF/classes/cn/riahome/java/HelloWorld.class
五、打开 [tomcat-home]/ webapps/blazeds/WEB-INF/flex/remoting-config.xml 这个文件,然后在</default-channels>标签之后和</service>标签之前添加以下结点(注意id属性和 source结点的值,source结点描述了完整的包路径和类名):
-
<destinationid="helloWorld">
-
<properties>
-
<source>cn.riahome.java.HelloWorld</source>
-
</properties>
-
</destination>
六、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);七、请按以下步骤新建一个名为“HelloWorld”的Flex Project;
八、在 HelloWorld.mxml 文件的<mx:Application></mx:Application>标签之间添加如下代码:
- <![CDATA[
- importmx.rpc.events.FaultEvent;
- importmx.controls.Alert;
- importmx.rpc.events.ResultEvent;
- privatefunctionresultHandler(event:ResultEvent):void
- {
- //显示收到的"HelloWorld!"数据
- Alert.show(event.result.toString(),"提示");
- }
- privatefunctionfaultHandler(event:FaultEvent):void
- {
- Alert.show(event.fault.toString(),"提示");
- }
-
]]>
-
-
-
<mx:RemoteObjectid=remoteObject
-
result="resultHandler(event)"fault="faultHandler(event)"/>
九、按F11测试,你看到一个叫“发送”的按钮,按一下它,会弹出“Hello World!”,这是后台发送过来的。至此,我得恭喜您!您成功了!
十、最后需要注意的是:<mx:RemoteObject>标签的destination属性值必须跟remoting-config.xml文件里destination标签的id值一致!
如果您还是测试不成功,请注意以下几点:
1、核实HelloWorld.class文件已经在[tomcat-home]/webapps/blazeds/WEB-INF/classes/cn/riahome/java目录下;
2、检查remote-config.xml文件里是否已经添加了上述的<destination>标签;
3、有没有重启Tomcat服务器;
4、检查<mx:RemoteObject>标签有没有这两个属性:destination=”helloWorld”、source=”cn.riahome.java.HelloWorld”
5、打开Flex Project的属性面板,查看 Flex Compiler 里的Additional compiler arguments选项,是否已经有“-services”指令,如下图(通常在新建Project的时候就自动添加的)
6、打开Flex Project的属性面板,再次检查 Flex Server 里的 Root folder、Root URL、Conntext root,按一下 Validate Location 按钮测试是否成功
7、检查所有代码有没有错误
分享到:
相关推荐
总之,"Java+Flex+BlazeDS HelloWorld例子"是一个基础教程,帮助开发者理解这三个技术如何协同工作以创建一个完整的RIA应用。通过学习这个例子,我们可以掌握Java后端开发、Flex前端设计以及BlazeDS数据传输的核心...
总的来说,"flex3集成BlazeDS的HelloWorld"是一个基础教程,旨在帮助开发者理解如何利用BlazeDS在Flex3应用中实现与服务器的数据交互。通过实践这个项目,开发者不仅可以掌握BlazeDS的基本使用,还能进一步理解Flex3...
这个入门例子是针对初学者设计的,旨在展示如何使用Flex与BlazDS进行基本的数据交换。在这个实例中,我们关注的是一个简单的方法,该方法接收在Flex前端输入的字符串,并在Java后端返回一个处理后的字符串。 首先,...
BlazeDS 整合 Flex HelloWorld 示例是一个初学者入门教程,主要介绍了如何在JavaEE环境中集成BlazeDS和Flex,创建一个简单的远程调用服务。BlazeDS是一个开源项目,提供了与Adobe Flex之间的实时数据交互,使得Flex...
3. **创建Flex客户端**:在Flex项目中,创建一个新的MXML文件,如`HelloWorld.mxml`。这里,你可以使用MXML标记来定义UI组件,并通过ActionScript代码与服务器进行通信。例如,创建一个按钮并绑定一个点击事件,当...
1. **Flex**:Adobe Flex是一个用于构建和部署富互联网应用程序(RIA)的软件框架,能够创建跨平台的桌面和移动设备应用程序。Flex使用MXML和ActionScript编程语言,能够与多种后端技术无缝集成。 2. **LCDS ...
总结,这个“Hello, World”例子展示了Flex与Java通信的基本流程:在Flex中通过RemoteObject调用Java服务,Java服务返回数据,BlazeDS负责数据的传输和转换。实际开发中,我们可以将此模式扩展到更复杂的数据交换...
使用Flex SDK中的`Services`面板可以方便地创建与BlazeDS的连接,配置Remoting Destination和MessageBroker,实现与Java服务的通信。 8. **安全考虑**: 在实际应用中,必须考虑BlazeDS的安全性,包括数据加密、...
在本例子中,我们将探讨如何使用Flex与Java后端进行远程调用,借助Adobe的BlazeDS服务。BlazeDS是Flex与Java服务器之间通信的一个中间件,支持AMF(Action Message Format)协议,提供数据推送、拉取和消息代理等...
【知识点详解】 ...完成以上步骤后,你就成功地配置了一个使用Flex、Java和BlazeDS的Web应用,可以实现客户端和服务器之间的数据交互。在实际开发中,你可以根据需求扩展Java服务和Flex界面,实现更复杂的功能。
BlazeDS是Adobe提供的一个开源工具,它支持Java远程调用(RPC)和Web消息传递,允许Flex客户端与Java服务器之间进行通信。 在Flex和Spring的整合中,关键在于Spring容器管理的Bean如何被Flex客户端访问。Spring社区...
Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring
描述中提到的"忘了写helloWorld",这可能是指没有提供一个简单的示例来演示如何从Flex客户端调用Java服务。你可以参考网上的教程,创建一个简单的Java方法(如`sayHello()`),在Flex中通过`RemoteObject`调用这个...
而BlazeDS是Adobe提供的一个免费服务器端组件,用于实现Flex与Java后端的数据通信。本文将深入探讨如何配置Flex与BlazeDS,让它们协同工作,实现高效、稳定的数据交换。 首先,我们需要准备必要的工具和环境。...
BlazeDS则是Adobe提供的一个免费的数据服务组件,它允许Flex应用与Java服务器进行双向通信,通过AMF(Action Message Format)协议高效地传输数据。 在Flex中,开发者可以使用MXML和ActionScript来构建用户界面,并...
在本文中,我们将深入探讨如何使用BlazeDS来整合Flex和Java,以及在这个过程中可能遇到的关键技术和挑战。 一、BlazeDS架构与组件 BlazeDS包含多个关键组件: 1. **Remoting Service**:通过AMF协议提供远程方法...
本文将详细讲解如何使用Flex、BlazeDS以及Java技术,搭建并运行你的第一个“Hello”程序。 1. Flex基础 Flex是一种基于ActionScript的开放源代码框架,用于构建RIA。它提供了丰富的用户界面组件库和强大的数据绑定...
一旦部署,BlazeDS将作为一个服务运行,提供与Flex客户端的连接。 7. **使用更新说明** `使用更新说明.txt`文件通常包含了安装、配置和升级BlazeDS的具体步骤,以及解决常见问题的指南。它是开发者和运维人员的...