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

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

发布时间:2020-12-15 01:15:22 所属栏目:百科 来源:网络整理
导读:因为对于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项目类型”

?

?

?

?

注:服务器的“根文件夹”也可以写tomcat下自己项目中的WebRoot?

点击“Finish”,结束操作

6、代码的新建和修改

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

Java代码如下:

 
 
  1. package?com.bx; ?
  2. ?
  3. public?class?HelloWord?{ ?
  4. ????public?class?HelloWorld?{ ?
  5. ????????public?HelloWorld()?{ ?
  6. ????????} ?
  7. ?
  8. ????????public?String?sayHelloWorld(String?name)?{ ?
  9. ????????????return?"Hello?First?Demo"?+?name; ?
  10. ????????} ?
  11. ?
  12. ????} ?
  13. } ?

?

2>编辑FlexJava.mxml?

代码如下:

 
 
  1. <?xml?version="1.0"?encoding="utf-8"?>??? ?
  2. <s:Application?xmlns:fx="http://ns.adobe.com/mxml/2009"???? ?
  3. ???????????????xmlns:s="library://ns.adobe.com/flex/spark"???? ?
  4. ???????????????xmlns:mx="library://ns.adobe.com/flex/mx"?minWidth="955"?minHeight="600">??? ?
  5. ???? ?
  6. ????<fx:Script>??? ?
  7. ????????<![CDATA[??? ?
  8. ????????????import?mx.controls.Alert;??? ?
  9. ????????????import?mx.rpc.events.ResultEvent;??? ?
  10. ???????????? ?
  11. ????????????protected?function?myFlex_resultHandler(event:ResultEvent):void{??? ?
  12. ????????????????var?name:String=event.result?as?String;??? ?
  13. ????????????????Alert.show(name);??? ?
  14. ????????????}??? ?
  15. ????????????protected?function?button1_clickHandler(event:MouseEvent):void?? ?
  16. ????????????{????? ?
  17. ????????????????myFlex.sayHelloWorld(txtName.text);??? ?
  18. ????????????}??? ?
  19. ????????]]>??? ?
  20. ????</fx:Script>??? ?
  21. ???? ?
  22. ????<fx:Declarations>??? ?
  23. ????????<!--?将非可视元素(例如服务、值对象)放在此处?-->??? ?
  24. ????????<s:RemoteObject?id="myFlex"?destination="mytest"?result="myFlex_resultHandler(event)"/>??? ?
  25. ????</fx:Declarations>??? ?
  26. ????<s:Button?x="209"?y="135"?label="按钮"?click="button1_clickHandler(event)"/>??? ?
  27. ????<s:TextInput?x="166"?y="81"?id="txtName"/>??? ?
  28. ????<s:Label?x="10"?y="81"?text="请输入内容:"?fontSize="15"?fontWeight="bold"?fontFamily="中易黑体"/>??? ?
  29. </s:Application>?? ?
  30. ?

3> 编辑WEB-INF/flex/remoting-config.xml文件:(其实就是增加了destination)

 
 
  1. <?xml?version="1.0"?encoding="UTF-8"?>?
  2. <service?id="remoting-service"?class="flex.messaging.services.RemotingService">?
  3. ?
  4. ????<adapters>?
  5. ????????<adapter-definition?id="java-object"?
  6. ????????????class="flex.messaging.services.remoting.adapters.JavaAdapter"?
  7. ????????????default="true"?/>?
  8. ????</adapters>?
  9. ?
  10. ????<default-channels>?
  11. ????????<channel?ref="my-amf"?/>?
  12. ????</default-channels>?
  13. ????<destination?id="mytest">?
  14. ????????<properties>?
  15. ????????????<source>com.bx.HelloWorld</source>?
  16. ????????</properties>?
  17. ????</destination>?
  18. ?
  19. </service>?

?

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

?

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

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

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

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

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

(编辑:李大同)

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

    推荐文章
      热点阅读