加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:45:25 所属栏目:百科 来源:网络整理
导读:因为对于flex本人也是新手,此前按照网上的各种方法进行试验,都没能实现flex与java的通信。也许是eclipse和tomcat版本的问题。后来经过几天的尝试,终于成功了。。。现和大家分享一下,希望和我一样曾经饱受困扰的同胞们,能够根据我的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即可。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读