Web+FLEX+BLAZEDS

(综合其他帖和自己的修改)

我们要实现的目的:我们要实现的目的:

1.希望在myeclipse里面可以创建flex项目。

2.在flex中编辑的mxml文件,保存后能够自动的生成flash文件和html文件以供测试,当然正式发布的时候很多的HTML是要删除的。

3.利用myeclipse在工程中实时同步机制,把我们编译后的flash和html文件直接同步到web工程,然后工程自动部署到tomcat,这样测试就很方便了,因为同步flash和html文件到tomcat根本就不用重新启动。

注意我们的关键点本质上只是把flex项目的编译输出直接到web工程。

1.希望在myeclipse里面可以创建flex项目。

2.在flex中编辑的mxml文件,保存后能够自动的生成flash文件和html文件以供测试,当然正式发布的时候很多的HTML是要删除的。

3.利用myeclipse在工程中实时同步机制,把我们编译后的flash和html文件直接同步到web工程,然后工程自动部署到tomcat,这样测试就很方便了,因为同步flash和html文件到tomcat根本就不用重新启动。

注意我们的关键点本质上只是把flex项目的编译输出直接到web工程。结,共有一下几种方法:

1,flex项目和web项目在同一项目。

2,flex项目和web项目为两个项目,进行交互。

个人认为,第二种比较好,这样可以完全将flex卡发和web业务开发分开。我这里也介绍第二种方法。

下面介绍我的hello小程序。

首先,开发环境

1,eclipse3.2+myeclipse5.1,不多说

2,eclipse的flex插件:FB3_WWEJ_Plugin.exe

3.Tomcat6.0

4,必须得到blazeds.war,网上很多,可以进行下载下来,演示例子。


BlazeDS已经推出正式版:http://opensource.adobe.com/wiki/display/blazeds/Release+Builds,它有三个版本,其中Turnkey版内置了Tomcat和 Flex 3 SDK,还包含blazeds.war、ds-console.war和samples.war,建议初学者使用;Binary Distribution版只包括blazeds.war,此为最简配置;而Source则包含blazeds的Java源代码,想做二次开发就下载这个。


1,创建web项目:

     我的项目是hello

2,将blazeds.war解压缩(直接用winrar或者通过放入tomcat中启动由tomcat帮忙解压缩),将blazeds.war项目中的,Web-Inf复制,替换hello项目(用刚才复制的将此项目(hello)中的替换)。 也可以不替换,而是将相应的文件拷到原来的项目的win-info下面,注意不要漏了jar包和web.xml

4,在web项目中建立java类

 

Java代码  复制代码
  1. package com.demo;  
  2.   
  3. public class HelloWorld {  
  4.   
  5.     public String sayHello(String name) {  
  6.           
  7.         System.out.println(name);  
  8.         return"hello," + name;  
  9.   
  10.     }  
  11.   
  12. }  

 5,在刚才复制的flex目录下打开remoting-config.xml,写入一下代码

Xml代码  复制代码
  1. <destination id="Hello">  
  2.        <properties>  
  3.            <source>com.demo.HelloWorld</source>  
  4.        </properties>  
  5.     </destination>  

 

6,发布此项目。



以上是web项目中的内容,下来看看flex项目

1,创建flex项目,flexTest,application type 选择 web application, server technology 选择none,点next,output folder 中选择你上面建立web工程的目录的webRoot(这里就是hello),很多地方都说选择j2ee,这个是建立集成项目时候选择的。

2,写入mxml

Html代码  复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
  3. <mx:Script >        
  4. <![CDATA[ import mx.rpc.events.FaultEvent;     
  5.    import mx.rpc.events.ResultEvent;     
  6.       [Bindable]     
  7.       private var helloResult:String;    
  8.        
  9.       private function sayHello():void {     
  10.         ro.sayHello(inputText.text);     
  11.         }     
  12.          
  13.        private function resultHandler(event:ResultEvent):void {     
  14.           helloResult = event.result as String;     
  15.        }  
  16.         
  17.    ]]>     
  18. </mx:Script >  
  19. <mx:RemoteObject id="ro" destination="Hello" result="resultHandler(event)" endpoint="/Hello/messagebroker/amf"/>  
  20. <mx:HBox x="0" y="10" width="100%">  
  21.    <mx:Label text="Name:" id="nameLabel"/>  
  22.    <mx:TextInput id="inputText"/>  
  23.    <mx:Button label="say Hello" id="nameButton" click="sayHello()"/>  
  24.    <mx:Label id="resultLabel" text="{helloResult}"/>  
  25. </mx:HBox>  
  26.   
  27. </mx:Application>  

 

3,最重要的endpoint="/Hello/messagebroker/amf",这个一定要写对,hello改成你自己的web项目名。

mx:RemoteObject的不足之处是调试不方便。在flex application运行时会提示找不到http/Hello/messagebroker/amf的错误,而整个web发布后运行则没有这个问题。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值