Flex与java通过BlazeDS实现通信(简单Demo)

因为对于flex本人也是新手,此前按照网上的各种方法进行试验,都没能实现flex与java的通信。也许是eclipse和tomcat版本的问题。后来经过几天的尝试,终于成功了。。。现和大家分享一下,希望和我一样曾经饱受困扰的同胞们,能够根据我的Demo,配置成功!

好,闲话少说,开始。

一、推荐环境

1、jdk1.6

2、Myeclipse 8.5 (或以上版本)

3、Flash Builder 4 Plug-in

4、tomcat6.0.32

Blazeds官方下载地址:(需要用户注册)

http://flexorg.wip3.adobe.com/blazeds/4.x/17657/blazeds-turnkey-4.0.1.17657.zip

二、项目的建立和整合

1、在Myeclipse中新建一个Web Project,名为FlexJava.

\

3.部署应用FlexJava到Tomcat服务器中,并启动tomcat服务。

\

4.为FlexJava项目添加blazeds支持:

1>解压BlazeDS.war到任意文件夹,里面包含WEB- INF和META-INF两个文件夹。

2>复制WEB- INF文件夹,覆盖项目中WebRoot下的WEB- INF文件夹。(目的是为了得到其子文件夹flex中的配置文件和lib中的资源包,以及web.xml的内容)

5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型”

\

\

\

点击“Finish”,结束操作

6、代码的新建和修改

1>在FlexJava/src目录下新建类HelloWorld

Java代码如下:

package com.bx;

public class HelloWord {
public class HelloWorld {
public HelloWorld() {
}

public String sayHelloWorld(String name) {
return "Hello First Demo" + name;
}

}
}

2>编辑FlexJava.mxml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;

protected function myFlex_resultHandler(event:ResultEvent):void{
var name:String=event.result as String;
Alert.show(name);
}
protected function button1_clickHandler(event:MouseEvent):void
{
myFlex.sayHelloWorld(txtName.text);
}
]]>
</fx:Script>

<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)"/>
</fx:Declarations>
<s:Button x="209" y="135" label="按钮" click="button1_clickHandler(event)"/>
<s:TextInput x="166" y="81" id="txtName"/>
<s:Label x="10" y="81" text="请输入内容:" fontSize="15" fontWeight="bold" fontFamily="中易黑体"/>
</s:Application>

3> 编辑WEB-INF/flex/remoting-config.xml文件:(其实就是增加了destination)
<?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="mytest">
<properties>
<source>com.bx.HelloWorld</source>
</properties>
</destination>

</service>

7.右键项目名称,点击properties/Flex构建路径,修改输出文件夹 URL;

\

另:完成这些步骤后,有的同胞的项目可能会有错,但下栏console里,不报错。

本人的解决方法:把FlexJava.mxml从“源代码”视图切换到“设计”视图,就会在下栏的console中显示具体错误

\

此时,只需选中错误,右键,选择“重新创建模板”,错误就会消失。

7、至此,配置基本完毕。重启tomcat,运行FlexJava.mxml即可。

\

点击“按钮”,成功进行通讯

\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值