flex和java基于blazeds的通信(转)

2011 - 09 - 14

Flex4与JavaWeb工程基于Blazeds初步整合

    博客分类:
  • J2EE
Flex Tomcat Web Myeclipse Adobe

 

按Flex官方的介绍我理解思路是:在MyEclipse模式下新建Java Web工程B,然后将下载好的Blazeds中Blazeds.war解决后将WEB-INF目录下flex、lib、web.xml文件复制并替换到新 建的B工程的WEB-INF文件夹中后就在Tomcat服务器中发布B工程并启动Tomcat服务。接着右击B工程,选择添加/更改项目类型 ->Flex项目类型,紧接着在“添加Flex项目类型”框中选择应用程序服务器类型为J2EE,勾选“使用远程对象访问服务”其下选择 “BlazeDs”,点击“Next”后,在框中填入Tomcat中刚发布B工程的路径以及访问B工程的URL地址与对应的B工程的根目录名字,输出文件 夹就按默认即可,然后点击验证配置。即完成整合内容。

 

一、环境推荐

1、JDK1.6

2、MyEclipse 9.01 M版

3、Flash Builder 4 Plug-in

 

二、工程整合步骤

1、整合采用Blazeds方式,所以需要先到官网下载Blazeds文件,http://flexorg.wip3.adobe.com/blazeds/4.x/17657/blazeds-turnkey-4.0.1.17657.zip 

 

 

 

2、在Myeclipse中新建一个Web Project,名为Flexweb.

 


 

      2..在Flexweb/src目录下新建类HelloWorld

Java代码如下:

 

Java代码   收藏代码
  1. package cn.com.talkweb.zz;  
  2. /** 
  3.  *  
  4.  * @author zz 
  5.  * Email:[email protected] 
  6.  */  
  7. public class HelloWorld {  
  8.   
  9.     public HelloWorld() {  
  10.     }  
  11.       
  12.     public String sayHelloWorld(String name){  
  13.         return name+"欢迎您的到来";  
  14.     }  
  15.   
  16. }  

 

 

 

        3.部署应用Flexweb到Tomcat服务器中,并启动tomcat服务。

 


 

  4.为Flexweb添加blazeds支持:

      解压BlazeDS.war到%TOMCAT_HOME%/webapps目录下文件名为blazeds内包涵了WEB-INF和META-INF文件夹;

      将%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/lib目录下面所有jar文件拷贝到 flexweb 的webRoot/WEB- INF/lib 目录下;

      将%TOMCAT_HOME%/webapps/blazeds/WEB-INF/flex 目录拷贝到Demo的WebRppt/WEB-INF 下;

      拷贝%TOMCAT_HOME%/webapps/BlazeDS/WEB-INF/ 下的web.xml覆盖flexweb的 web.xml;

      至此,我们的Flexweb已经具备了blazeds 的功能.

      5.为项目增加Flex支持,右键项目名称,点击“添加/更改项目类型”,“添加Flex项目类型”

 


 

 


 

      点击"Finish".

 

      6.编辑Flexweb.mxml 

 

Java代码   收藏代码
  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.                 // TODO Auto-generated method stub  
  18.                 //Alert.show(txtName.text);  
  19.                 myFlex.sayHelloWorld(txtName.text);  
  20.             }  
  21.         ]]>  
  22.     </fx:Script>  
  23.   
  24.     <fx:Declarations>  
  25.         <!-- 将非可视元素(例如服务、值对象)放在此处 -->  
  26.         <s:RemoteObject id="myFlex" destination="mytest" result="myFlex_resultHandler(event)"/>  
  27.     </fx:Declarations>  
  28.     <s:Button x="209" y="135" label="按钮" click="button1_clickHandler(event)"/>  
  29.     <s:TextInput x="166" y="81" id="txtName"/>  
  30.     <s:Label x="10" y="81" text="添加你想说的内容:" fontSize="15" fontWeight="bold" fontFamily="中易黑体"/>  
  31. </s:Application>  

 

 

     编辑WEB-INF/flex/remoting-config.xml文件:

    <?xml version="1.0" encoding="UTF-8"?>

Java代码   收藏代码
  1. <service id="remoting-service"   
  2.     class="flex.messaging.services.RemotingService">  
  3.   
  4.     <adapters>  
  5.         <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>  
  6.     </adapters>  
  7.   
  8.     <default-channels>  
  9.         <channel ref="my-amf"/>  
  10.     </default-channels>  
  11.        <!--远程对象-->  
  12.     <destination id="mytest">  
  13.         <properties>  
  14.             <source>cn.com.talkweb.zz.HelloWorld</source>  
  15.         </properties>  
  16.     </destination>  
  17. </service>  

 

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


  点击properties/Flex编译器修改Flex SDK 版本

  8.运行Flexweb.mxml即可

 


 

 

你可能感兴趣的:(java,Flex,职场,blazeds,休闲)