zoukankan      html  css  js  c++  java
  • 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即可。
  • 相关阅读:
    UVa 1354 天平难题 (枚举二叉树)
    广西邀请赛总结
    UVa 12118 检查员的难题 (dfs判连通, 构造欧拉通路)
    UVA
    Uva 127 "Accordian" Patience (模拟)
    UVA 10539 Almost Prime Numbers( 素数因子)
    HDU 1272 小希的迷宫(并查集)
    HDU 1213 How Many Tables (并查集)
    POJ 2236 Wireless Network(并查集)
    HDU 1233 还是畅通工程 ( Kruskal或Prim)
  • 原文地址:https://www.cnblogs.com/huapox/p/3251434.html
Copyright © 2011-2022 走看看