创建Flex 与 Java 通信项目之Blazeds篇
一、环境:
1、blazeds_turnkey(内含tomcat)
2、Flex Build3(Flex的eclipse插件)
3、Eclipse
二、搭建
1、建立一个Web Project
注意:创建项目完之后,将其部署到Tomcat中,为配置Flex类型做准备
2、导入Blazeds
导入方法有两种:
一种是,打开下载到的blazeds_turnkey,找到blazeds.war压缩包,copy里面的WEB-INF文件到web项目WebRoot目录下,覆盖原先的WEB-INF目录;
另一种,软件导入。
(1) 右击项目” WebRoot” 目录,选择”Import”->”File system”
(2)在From directory选项中选择blazeds.war解压缩的路径
(3)选中 “blazeds”,点击”finish”
(4)出现Question提示,点击”Yes to All”
3、添加Flex项目类型
1、创建Flex_src目录,用于,专门存放flex的源代码文。(为后面修改Flex配置做准备)
如下图:
2、添加Flex项目类型
(1) 右击FlexBlazedsDemo项目,选择 “Flex Projext Nature ”->”Add Flex Project Nature”
(2)点击点击”Next”
(3)配置属性:
Root folder:指的是项目发布的目录location(选择刚部署到Tomcat中的FlexBlazedsDemo)
Root URL:指定是项目的发布的根URL地址(访问路径)
Context root:指定是项目名
Output folder:Flex编译后HTML文件存放位置
然后点击Valdate Configuration按钮,没有任何错误提示点击Finish即完成项目创建,此flex项目中
注意:
如果Tomcat是启动状态,点击Valdate Configuration会出现:“The web root folder and root URl are valid”。(蓝色提示)
如果是关闭状态则会出现“Cannot access the web server. The server may not b…or the web root folder or root URL may be invalid”(黄色提示)
这要不是红色提示就没有问题
(4)修改Flex配置
右击FlexBlazedsDemo项目,选择 “Properties”
选择“Flex build Path”,将Main source folder改为前面创建的flex_src文件夹。
选择“Flex Cpmpiler” 将Flex SDK version 改为Flex插件的版本号,这里是Flex3.2
注意:如果不修改Flex SDK version项目可能会出现红叉
点击“Apply”->“OK”
将src目录下的FlexBlazedsDemo.mxml文件移至到flex_sr此目录下。
4、编写Java文件
package com.flex;
public class FlexBlazeds {
private String prefix;
public FlexBlazeds() {
this.prefix = "FlexBlazeds_";
}
public String say(String str) {
return this.prefix + str;
}
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
}
|
5、修改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="flexBlazedsRemoteObject">
<properties>
<source>com.flex.FlexBlazeds</source>
<scope>application</scope>
</properties>
</destination>
</service>
|
注意:红色部分为添加部分
6、编写FlexBlazedsDemo.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.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]
private var meg:String = "";
private function clickHandler():void {
//remoteObject是 <mx:RemoteObject/>中的属性id
remoteObject.say(inputText.text);
}
//返回成功
private function resultHandler(event:ResultEvent):void{
meg = event.result as String;
}
//返回失败
private function faultHandler(event:FaultEvent):void{
Alert.show("faultHandler");
}
]]>
</mx:Script>
<mx:RemoteObject id="remoteObject" destination="flexBlazedsRemoteObject" result="resultHandler(event)" fault="faultHandler(event)"/>
<mx:HBox x="10" y="20">
<mx:TextInput id="inputText"/>
<mx:Button click="clickHandler()" label="测试" />
<mx:Label text="{meg}" />
</mx:HBox>
</mx:Application>
|
注意:<mx:RemoteObject/> 标签中destination属性值就是remoting-config.xml文件中destination标签中的id
web.xml配置(会自动加载):
<display-name>BlazeDS</display-name>
<description>BlazeDS Application</description>
<context-param> <param-name>flex.class.path</param-name> <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value> </context-param> <!-- Http Flex Session attribute and binding listener support --> <listener> <listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener> <!-- MessageBroker Servlet --> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <display-name>MessageBrokerServlet</display-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> <init-param> <param-name>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>MessageBrokerServlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping>
|
ps:如果报错,更换flex SDK version
三、测试
1、完成搭建后,启动Tomcat,访问:
http://localhost:8080/FlexBlazedsDemo/FlexBlazedsDemo-debug/FlexBlazedsDemo.html
2、在输入框中输入:XXX;
3、点击“测试”按钮
结果如下:
三、说明
Java环境的搭建,Eclipse软件的安装、Flex Build3安装省略。
- 大小: 20.1 KB
- 大小: 65 KB
- 大小: 45.7 KB
- 大小: 61.6 KB
分享到:
相关推荐
最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...
这些类将通过BlazeDS与Flex前端进行通信。 #### 四、使用BlazeDS进行Flex与Java通信 完成上述步骤后,就可以开始使用BlazeDS进行Flex与Java之间的通信了。具体的通信流程包括: 1. **定义服务接口**:在Java中...
Flex和Java之间的通信是Web应用程序开发中的一个重要环节,它允许前端用户界面(UI)与后端服务器进行数据交互。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,而Java则是...
总之,Flex与Java通过BlazeDS的交互涉及到了项目配置、Flex客户端与Java服务的通信、事件处理以及配置文件的设置。这种交互方式使得开发者能够利用Flex的图形界面优势和Java的强大后端能力,构建功能丰富的RIA应用。
Blazeds全称为BlazeDS,它是一个开源项目,允许Flex客户端与Java服务器进行实时双向通信。Blazeds通过使用AMF(Action Message Format)协议,实现了高效、低延迟的数据传输,极大地提高了Flex应用的性能。 1. **...
总结,这个“Hello, World”例子展示了Flex与Java通信的基本流程:在Flex中通过RemoteObject调用Java服务,Java服务返回数据,BlazeDS负责数据的传输和转换。实际开发中,我们可以将此模式扩展到更复杂的数据交换...
BlazeDS是Adobe公司开发的一个开源项目,它提供了轻量级的消息传递系统,使得Flex客户端能够与Java后端进行实时数据交换。BlazeDS支持AMF(Action Message Format)协议,这是一种高效的二进制数据格式,用于在Flex...
Flex和Java通信是一种常见的技术需求,特别是在构建富互联网应用程序(RIA)时,前端的Flex界面与后端的Java服务需要紧密交互。BlazeDS是Adobe公司推出的一个开源项目,专门用于实现Flex和Java之间的数据通信,它...
Blazeds是Adobe官方推出的一款开源项目,全称为Flex Business Application Platform,它是Flex与Java应用程序之间进行数据交互的重要桥梁。Flex是一种基于ActionScript的富互联网应用程序(RIA)开发框架,而Java则...
调试BlazeDS与Flex的通信可以使用Flash Builder的内置调试工具,查看网络请求和响应。同时,可以通过配置BlazeDS的日志输出来获取更详细的错误信息,帮助诊断问题。 总之,BlazeDS为Flex和Java应用程序间的通信...
5. **Flex与Java通信过程** - Flex客户端通过myFlex对象调用Java服务器的sayHelloWorld方法,传递txtName.text作为参数。 - BlazeDS接收到请求后,将ActionScript方法调用转换为Java方法调用,转发给...
Flex与Java通信是Web开发中的一个重要技术组合,它允许用户在浏览器端利用Flash的富互联网应用(RIA)特性,通过ActionScript与服务器端的Java应用程序进行数据交互。本压缩包包含了一个完整的Flex与Java通信的示例...
8. **Flex与Java通信**:使用BlazeDS/LCDS,我们可以创建Flex Remoting配置,定义在客户端和服务器之间的远程方法调用。这允许Flex应用直接调用Java服务,获取和更新数据。 9. **数据模型和服务接口**:在Java端...
BlazeDS 是一款开源的服务器端技术,由 Adobe 提供,主要用于实现 Java 应用程序与 Flex 客户端之间的通信。它利用 AMF(Action Message Format)协议,这是一种二进制格式,相比基于文本的协议如 XML,AMF 提供了更...
BlazeDS是Adobe提供的一个开源工具,它支持Java远程调用(RPC)和Web消息传递,允许Flex客户端与Java服务器之间进行通信。 在Flex和Spring的整合中,关键在于Spring容器管理的Bean如何被Flex客户端访问。Spring社区...
Blazeds 是 Adobe 公司提供的一个开源项目,用于实现 Java 应用程序与 Flex 应用之间的远程通信。首先需要下载 Blazeds 包并解压,然后将解压后的 `blazeds.war`、`ds-console.war` 和 `samples.war` 文件复制到 ...