这个实例教你怎么用BlazeDS信息服务创建一个简单的聊天程序。
服务器端配置:
1. 在你拷贝过来的BlazeDS的web程序中,打开WEB-INF/flex/messaging-config.xml文件。
如果你用BlazeDS集成Tomcat服务器,BlazeDS的web程序可以在install_dir/tomcat/webapps中找到。messaging-config.xml文件包含了信息服务的设置。如果你打开同一目录下services-config.xml文件,你会看到the messaging-config.xml在这个文件中被引用。services-config.xml对BlazeDS是最好高级配置。通常,你为指定服务,像信息,引用配置文件。在这个文件,你也可以定义广泛的系统设置。
2. 在messaging-config.xml文件中,在</service>元素上面添加下面的元素:
<destination id="chat"/>
3. 服务器端的目标是把Flex客户端的信息发布,客户端描述了被发布的信息。值得注意的是有一个my-polling-amf 的默认通道在messaging-config.xml配置文件里。BlazeDS利用通道发送数据,并且在Flex客户端和服务器端相互交互。实际的通道被定义在services-config.xml,它仅在messaging-config.xml中被引用。这个特殊的通道利用the Action Message Format (AMF),获取到达服务器端的信息。除了正在获取的通道,BlazeDS也提供了通道用来客户端,服务器,流数据之间的联系。
4. 开始或者重新启动你的程序服务。
客户点部署:
1. 在Flex Builder 3中,像如下描述创建一个新的BlazeDS工程
http://learn.adobe.com/wiki/display/Flex/Using+Flex+Builder+with+your+J2EE+server
2. 工程名称为chat1.
3. 在FlexBuilder中创建chat1.mxml,在该文件中你将创建一个Flex客户程序,程序可以发布信息到目标程序,并且在目标程序显示信息。
4. 在chat1.mxml文件下面的<mx:Application>元素中添加一个空的<mx:Script>元素。你可以在FlexBuilder输入下面的代码,或者复制下面的代码
<mx:Script>
<![CDATA[
]]>
</mx:Script>
5. 在</mx:Script>添加下面的MXML代码。
这个代码创建一个producer and consumer。The producer 发送信息到目的地,the consumer 显示从目的地取回的信息。在这个程序,我们在MXML创建a Producer and Consumer对象,也可以像大多数Flex对象,你可以有选择的在ActionScript中创建他们。
<mx:Consumer id="consumer" destination="chat" message="messageHandler(event.message)"/>
<mx:Producer id="producer" destination="chat"/>
6. 在<mx:Consumer>中添加下面的MXML代码。
这部分代码创建用户接口,该接口被用来输入信息,发送信息,显示接收的信息。Panel容器组织它包含的对象。ControlBar也可以布局。TextArea用来显示终端数据。TextInput用来输入信息.你用Button去提交信息到终端。
<mx:Panel title="Chat" width="100%" height="100%">
<mx:TextArea id="log" width="100%" height="100%"/>
<mx:ControlBar>
<mx:TextInput id="msg" width="100%" enter="send()"/>
<mx:Button label="Send B" click="send()"/>
</mx:ControlBar>
</mx:Panel>
7. 在<mx:Script>的CDATA部分,添加如下代码:
import mx.messaging.messages.AsyncMessage;
import mx.messaging.messages.IMessage;
private function send():void{
var message:IMessage = new AsyncMessage();
message.body.chatMessage = msg.text;
producer.send(message);
msg.text = "";
}
private function messageHandler(message:IMessage):void{
log.text += message.body.chatMessage + "\n";
}
这部分代码可以做如下的事情:
(1)导入AsyncMessage类和IMessage接口,他们被用在send()方法里。
(2)创建send()方法,当按钮被点击调用该方法。
(3)
This method creates a new AsyncMessage and assigns it to the variable message which is of type IMessage . It sets the value of the message.body.chatMessage property to the value of the msg.text - the TextInput control's text property. It callse the Producer's send() method to send the message, and then empties the msg.text property.
Creates the messageHandler() event handler method. This method handles "message" events when the Consumer object receives a message from the destination. This method displays message.body.chatMessage text in the log.text property - the text property of the TextArea control. Note that the Consumer element's message property is set to the messageHandler() method.
Note: Because the producer.send() method takes an IMessage as an argument in this example we explicitly cast AsyncMessage to the IMessage interface which it implements. If you don't do this and call producer.send() with an AsyncMessage, this conversion will happen automatically.
8. 添加MXML的属性,以便程序开始的时候Consumer
Add the following MXML attribute the the mx:Application element so that the Consumer subscribes to the destination when the application starts:
creationComplete="consumer.subscribe()"
The mx:Application element should now look like this:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="consumer.subscribe()">
The MXML code is now complete.
Make sure that your BlazeDS server is running.
Compile and run the client application in Flex Builder by selecting Run > Run from the menu bar.
Open the same URL in a second browser window.
Enter messages in one of the two windows, and they should appear in the other window.
分享到:
相关推荐
在本文中,我们将深入探讨如何配置MyEclipse 8.5、FlexBuilder 4以及Blazeds。这是一个涉及多个组件的复杂过程,每个组件都有其特定的安装和配置步骤。 首先,我们需要准备以下软件: 1. Apache Tomcat 2. ...
2. **创建Flex项目**:在Eclipse中,使用Flex Builder插件创建一个新的Flex项目,选择Spark组件架构,并为项目定义合适的命名空间和SWF输出路径。 3. **集成Blazeds**:将Blazeds库(包括flex-messaging-common.jar...
本文主要介绍如何配置一套开发环境,用于在MyEclipse中集成Flex\Builder、Tomcat和BlazeDS,以便开发Java与Flex相结合的Web应用程序。以下是对每个组件及其安装配置过程的详细说明: 1. **Flex.Builder**: Flex ...
这个配置过程允许开发者使用 MyEclipse 和 Flex Builder 创建、测试和部署 Flex 应用,同时利用 Tomcat 和 BlazeDS 实现与服务器的双向数据通信。通过这种方式,开发者可以构建具有丰富用户界面的 Web 应用,同时...
BlazeDS 是一款开源的服务器端技术,由 Adobe 提供,主要用于实现 Java 应用程序与 Flex 客户端之间的通信。它利用 AMF(Action Message Format)协议,这是一种二进制格式,相比基于文本的协议如 XML,AMF 提供了更...
在Blazeds中,Flex客户端通过AMF(Action Message Format)协议与Java后端通信。AMF是一种二进制的序列化格式,它比XML或JSON等文本格式更高效,能快速传输复杂的数据结构。Blazeds提供了Flex和Java之间的AMF编解码...
在当今的Web开发中,富互联网应用程序(Rich Internet Applications,简称RIA)已经成为一种趋势,而Flex作为Adobe提供的RIA开发框架,结合Spring的优秀企业级服务管理和BlazeDS的数据传输能力,为开发者提供了强大...
Flex4、J2EE与Blazeds的整合是构建富互联网应用程序(RIA)的一个常见方案,主要用于开发交互性强、用户体验良好的Web应用。本教程将详细阐述如何配置一个基于Flex4、J2EE和Blazeds的jspweb工程,并提供实例源码供...
1. **Flex**:Adobe Flex是一个用于构建和部署富互联网应用程序(RIA)的软件框架,能够创建跨平台的桌面和移动设备应用程序。Flex使用MXML和ActionScript编程语言,能够与多种后端技术无缝集成。 2. **LCDS ...
Flex Builder 4是一款由Adobe公司推出的强大的Flex应用程序开发工具,它是基于Eclipse平台构建的,专为开发富互联网应用程序(RIA)而设计。这款IDE支持ActionScript、MXML以及Flex框架,使得开发者能够轻松创建交互...
Flex和Java之间的交互是Web开发中的一个重要组成部分,特别是在构建富互联网应用程序(RIA)时。BlazeDS是一个开源项目,由Adobe提供,它充当了Flex客户端和Java后端服务器之间的通信桥梁。BlazeDS允许双向数据交换,...
Blazeds 是 Adobe 公司提供的一个开源项目,用于实现 Java 应用程序与 Flex 应用之间的远程通信。首先需要下载 Blazeds 包并解压,然后将解压后的 `blazeds.war`、`ds-console.war` 和 `samples.war` 文件复制到 ...
通过Eclipse和Flex Builder,结合BlazeDS,我们可以创建功能丰富的Flex Web应用程序。BlazeDS使得Flex与Java后端的交互变得简单高效,提供了一种强大的数据集成解决方案。在实际开发过程中,理解并掌握这些步骤和...
BlazeDS与Flex整合是构建富互联网应用程序(RIA)的一种常见技术组合,它允许开发者创建交互性强、用户体验丰富的Web应用。BlazeDS是Adobe提供的一个开源服务器端数据推送技术,而Flex是用于创建RIA的客户端开发框架...
7. **Flex客户端**:在Flex Builder中,创建一个新的Flex项目,然后在MXML代码中创建一个服务引用,对应之前在`remoting-config.xml`中定义的`destination`。这样,Flex客户端就可以通过AMF通道调用Java后端的方法。...