`
baobeituping
  • 浏览: 1074017 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

通过MyEclpise整合JAVA与FLEX进行通讯(通过将JAVA工程加到FLEX工程中)

阅读更多

准备:

JDK:sun jdk 1.6

开发工具:eclipse+flex builder

flex sdk版本:  3.2

应用服务器: tomcat 6.0

blazed:blazeds-turnkey-3.2.0.3978 下载地址是:http://flexorg.wip3.adobe.com/blazeds/3.0.x/milestone/3978/blazeds-turnkey-3.2.0.3978.zip

新建项目:

    等全部环境安装好后,打开装了flex builder(flex 4.0以后叫flash builder了),选择Flex Development 视图,新建项目选择Flex Project ,填写新建项目的名称,项目存储的目录,在Server Technology标签中的application Server Type选择J2EE,选中Use remote object access service和Create combined Java/Flex project using WTP(这个一定要记的选上)选项,然后Next.如下图:

 

 

 

    在第二页中J2EE settings,Target runtime如果还没有可以先添加一个预先准备后的tomcat环境。然后选择它。在Compiled Flex application location的Out Folder改成与上面Content Folder相同的WebContent,注意这个一定要改,否则无法自动编译过去,调试时浏览器无法访问。如下图:

新建好项目后,还要修改一个关键的项目属性。将Flex Server标签中的Context Root修改为FirstJavaFlex(这一块很重要,在没有配置RemoteObject 的endPoint属性的时候,会用这个Context去编译Flex),

如果写了endpoint那就不用修改这个参数。

还要注意一下Root URL参数中的端口号,因为默认是8080,可是如果你用的是blazeds-turnkey包中的tomcat的时候,那个端口号是8400记着一定也要改一下。如下图:


就这样新建好项目之后,java源文件放在src目录下,flex源文件放在flex_src目录下。

然后选择你的flex工程文件,点右键,在弹出的“myeclipse”中选择“add web application”,然后你就可以将这个FLEX工程作为一个JAVA WEB工程发布到TOMCAT上去了。

接下来就是写代码了。新建好项目之后会在flex_src下生成一个FirstJavaFlex.mxml的文件。

我的java类的代码如下:

view plaincopy to clipboardprint?
package com.java.flex;  
 
public class FirstJavaFlex {  
 
    public String helloJavaFlex(String name) {  
        System.err.println("call java success!");  
        return "welcome to JavaFlex world: "+name;  
    }  
}  
  
package com.java.flex;

public class FirstJavaFlex {

 public String helloJavaFlex(String name) {
  System.err.println("call java success!");
  return "welcome to JavaFlex world: "+name;
 }
}
 

这个代码也很简单吧不多说了。

下面是最关键的一步打开WEB-INF\flex目录中的remoting-config.xml文件在里面

添加一段远程目录的注册,

 <destination id="firstJavaFlex">
  <properties>
   <source>com.java.flex.FirstJavaFlex</source>
  </properties>
 </destination>

添加完后的remoting-config.xml文件如下:

view plaincopy to clipboardprint?
<?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="firstJavaFlex"> 
        <properties> 
            <source>com.java.flex.FirstJavaFlex</source> 
        </properties> 
    </destination> 
</service> 
<?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="firstJavaFlex">
  <properties>
   <source>com.java.flex.FirstJavaFlex</source>
  </properties>
 </destination>
</service>
 


接下来修改FirstJavaFlex.mxml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
   import mx.rpc.events.FaultEvent;
   import mx.controls.Alert;
   import mx.rpc.events.ResultEvent;
   private function resultHandle(event:ResultEvent):void{
   // var result:String = event.result as String;
    mx.controls. Alert.show(event.result.toString(), "提示");
   }
   private function faultHandle(event:FaultEvent):void{
    mx.controls.Alert.show(event.fault.toString());
   }
  ]]>
 </mx:Script>
 <mx:RemoteObject id="remoteService" destination="firstJavaFlex" source="com.flex.HelloJava" result="resultHandle(event)" fault="faultHandle(event)" endpoint="http://localhost:8080/FirstJavaFlex/messagebroker/amf"/>
 <mx:Button id="jbt" label="发送" click="remoteService.sayHello('天使')"/>
</mx:Application>
 

 

 

恭喜你成功了!

这个例子很简单,但因为不熟,我也是调了好久才成功。容易出错的地址就好个Context的问题了。当然也可以在RemoteObject中明确声明EndPoint属性,建议使用相对路径。

 

分享到:
评论

相关推荐

    通过MyEclpise整合JAVA与FLEX进行通讯(通过将Flex工程加到Java web工程中)

    本话题主要关注如何通过MyEclipse这个流行的Java集成开发环境(IDE)整合JAVA与FLEX,使得它们能够有效地进行通讯。这一过程涉及到将Flex工程添加到Java Web工程中,以便在后端服务器和前端富互联网应用程序(RIA)...

    Java MyEclpise

    2、从键盘输入一个实数,获取该实数的整数部分,并求出实数与整数部分的差,将结果分别用两种形式输出:一种是直接输出,另一种是用精确到小数点后4位的浮点格式输出。 3、用产生随机数的方法产生两个1位整数,求其...

    MYsql+MyEclpise+JDBC的例子

    MYsql5.0+MyEclpise6.0+JDBC 数据库要在MYsql中自己建(id,username,password)三个字段 连接用mysql-connector-java-5.0.6.zip

    MyEclpise序列号(新老版本合辑)

    本合辑主要关注的是MyEclipse的序列号问题,这涉及到软件的授权与激活。 序列号是软件开发商为了防止未经授权的复制和使用,对产品进行的一种数字验证方式。每个MyEclipse安装都需要一个有效的序列号来激活,以便...

    myeclpise破解JAR包

    myeclpise破解JAR包,原JAR工具包,依然可用版本。

    myeclpise+jboss开发EJB

    这通常涉及到打包项目为EAR或WAR文件,并通过JBoss的管理控制台或命令行工具进行部署。MyEclipse提供了内置的工具来帮助开发者完成这个过程,包括自动构建、部署和启动应用程序。 #### 5. 测试EJB 在部署EJB后,...

    JAVA设计模式中的四层架构Demo

    基于JAVA的四层架构...本Demo强调的是一种设计思想,其实与经典设计模式中的策略模式有点类似。建议学习软件设计思想时不妨想想硬件的接口设计。Demo在Myeclpise7.0下使用UML建立类图结构,自动反向生成的JAVA代码。

    用MyEclpise开发的电子商城的源代码

    在这个电子商城系统中,Hibernate被用来管理数据库交互,将Java对象与数据库表之间的映射关系自动化,使得开发者可以使用面向对象的方式来处理数据库操作,而无需编写大量的SQL语句。 【jsp技术】:JavaServer ...

    eclipse与myeclipse汉化方法

    把eclipse3.5中文包下载后解压,解压后其中有个eclipse的文件夹,将这个文件夹放到你的eclipse.exe文件所在目录里的dropins文件夹中,然后打开eclipse.ini文件,在最后加上 -nl zh。 此方法同样适应MyEclipse。 把...

    myeclipseSVN插件

    而“SVN插件”则意味着这是一个专门为集成Subversion功能而开发的扩展,它能够将SVN的强大功能无缝地融入到myeclipse的开发环境中。 【压缩包子文件的文件名称列表】:“site-1.0.6” 这个文件名“site-1.0.6”...

    MyEclipse6.5使用设置技巧及快捷键

    #### 一、MyEclipse简介与重要性 MyEclipse是一款基于Eclipse平台的增强型集成开发环境(IDE),它为Java开发者提供了丰富的功能,如代码编辑、调试、部署等,并支持多种Web开发技术,如JSP、Servlet、Struts等。...

    myeclpise 2019 CI安装教程.rar

    内含你所需要的文件

    JAVA_SSH_project.rar

    开发工具 myeclpise8.5 tomcat 6.0 mysql5.0 这是一个整合struts、spring、hibernate的javaWeb项目,完整实现了一个网上商城的功能!!!

    常用eclipse插件 - links & my_plugins

    本文将深入介绍"常用eclipse插件 - links & my_plugins"这个压缩包中的三个关键插件:color_theme、fullscreen以及window_builder,并解释如何通过link文件快速安装这些插件,让Eclipse变得更加易用和高效。...

    MyEclipse常用配置图文教程

    2. **设置工作空间默认编码**:在Java开发中,通常使用UTF-8编码。MyEclipse的默认编码可能与操作系统环境有关,需要在`Window` -&gt; `Preferences`中设置工作空间的默认编码为UTF-8,以确保文件的正确读写。 3. **...

    Struts---MyEclipse下建立Struts工程

    今天使用MyEclipse建立了一个简单的Struts工程:一个登录页面,如果用户名和密码均正确的话,将用户名显示在新页面中,否则返回至登录页面。1)File--&gt;New--&gt;Project新建一个项目2)弹出一个对话框,选择...

    myeclipse生成注册码

    运行一下,就可以生成,然后把它填写在相就在相应的地方就OK了

Global site tag (gtag.js) - Google Analytics