• 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即可。
  • 相关阅读:
    控制台——args参数的赋值方法
    整数排序的几种方法
    基于CentOS系统下的Oracle的安装
    QT的学习
    HDU 2104 hide handkerchief
    HDU 2103 Family Plan
    HDU 2115 I Love This Game
    HDU 2100 Lovekey
    猜数字游戏
    利用Hough变换识别图像中的直线
  • 原文地址:https://www.cnblogs.com/huapox/p/3251434.html
Copyright © 2020-2023  润新知