`
zuoshaobiao
  • 浏览: 21193 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

flex+java通讯

    博客分类:
  • java
阅读更多

BlazeDS入门教程-很详细-赞原创作者一个
  什么是BlazeDS呢?BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,它能够使得后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。在各大搜索引擎里,关于BlazeDS的中文教程来来去去都是那几篇,而且都是使用Eclipse来开发Flex的(用Eclipse开发Flex跟Java很不错的)。这篇文章将会尝试着使用Flex Builder 3,用一个经典的“HelloWorld”例子来让你学会BlazeDS的使用方法。
        在开始之前,你需要安装JDK和Tomcat并实现成功配置,详细请看:Tomcat 6.0 配置。

一、我电脑上的配置是如下四点,如果你电脑上的配置不同于以下四点,可能需要你对你的电脑进行修改一下:
        1、Window XP;
        2、Tomcat 6.0,安装在“C:\Program Files\Apache Software Foundation\Tomcat 6.0\”,下文会使用“[tomcat-home]”来代替这长长的目录路径;
        3、Tomcat服务器使用端口8080;
        4、使用Flex Builder 3而非Eclipse。

二、如果你对以下操作比较陌生,那你应该先熟悉一下以下操作:
        1、写一个Java文件并编译它;
        2、使用Flex Builder 3;
        3、停止和开户Tomcat服务器。

三、下载BlazeDS:
        1、网址:http://opensource.adobe.com/wiki/display/blazeds/Release+Builds ;
        2、下载那个“BlazeDS binary distribution”(http://download.macromedia.com/pub/opensource/blazeds/blazeds_bin_3-0-0-544.zip);
                i. 把那个 .zip 文件保存到你的电脑上
                ii. 里面有两个文件:blazeds.war 和 blazeds-bin-readme.html
                iii. 把里面的 blazeds.war 文件解压到这个目录下:[tomcat-home]\webapps
        3、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);
        4、打开这个目录:[tomcat-home]\webapps
                i. 你应该会看到一个名为“blaseds”的文件夹
                ii. 在blaseds文件夹里,会有一个名为“WEB-INF”的文件夹
                iii. 在WEB-INF文件夹里会有很多文件夹,其中有一个名为“classes”的文件夹。Flex应用程序需要使用到的Java class就是放到这个文件夹里的
                iv. 还有一个名为“flex”的文件夹,它里面有一个remoting-config.xml,我们要在这个remoting-config.xml文件里添加destination结点来告诉Flex应用程序如何连接上Java class的

四、使用文本编辑器编写以下这个Java文件并命名为“HelloWorld.java”:

package cn.riahome.java;
 
public class HelloWorld {
 
public HelloWorld() {
}
 
public String getHelloWorld() {
  return "Hello World!";
}
}
编译这个Java文件并得到HelloWorld.class文件。在 [tomcat-home]\webapps\blazeds\WEB-INF\classes 目录下新建一个名为“cn”的文件夹,然后在cn文件夹新建一个“riahome”文件夹,接着在riahome文件夹里新建一个“java”文件夹,最后把刚才编译得到的HelloWorld.class文件放到java文件里,HelloWorld.class的路径应该为:[tomcat-home]\webapps\blazeds\WEB-INF\classes\cn\riahome\java\HelloWorld.class

五、打开 [tomcat-home]\ webapps\blazeds\WEB-INF\flex\remoting-config.xml 这个文件,然后在</default-channels>标签之后和</service>标签之前添加以下结点(注意id属性和source结点的值,source结点描述了完整的包路径和类名):

<destination id="helloWorld">
    <properties>
        <source>cn.riahome.java.HelloWorld</source>
    </properties>
</destination>
六、如果Tomcat正在运行,请停止它然后再启动它(就是重启Tomcat);

七、请按以下步骤新建一个名为“HelloWorld”的Flex Project: 


八、在 HelloWorld.mxml 文件的<mx:Application></mx:Application>标签之间添加如下代码:

<mx:Script>
        <![CDATA[
           
            import mx.rpc.events.FaultEvent;
            import mx.controls.Alert;
            import mx.rpc.events.ResultEvent;
           
            private function resultHandler(event:ResultEvent):void
            {
                // 显示收到的 "Hello World!" 数据
                Alert.show(event.result.toString(), "提示");
            }
           
            private function faultHandler(event:FaultEvent):void
            {
                Alert.show(event.fault.toString(), "提示");
            }
           
        ]]>
    </mx:Script>
   
    <mx:RemoteObject id="remoteObject" destination="helloWorld" source="cn.riahome.java.HelloWorld"
        result="resultHandler(event)" fault="faultHandler(event)"/>
   
    <mx:Button label="发送" click="remoteObject.getHelloWorld()"/>
九、按F11测试,你看到一个叫“发送”的按钮,按一下它,会弹出“Hello World!”,这是后台发送过来的。至此,我得恭喜您!您成功了!

十、最后需要注意的是:<mx:RemoteObject>标签的destination属性值必须跟remoting-config.xml文件里destination标签的id值一致!

如果您还是测试不成功,请注意以下几点:
1、核实HelloWorld.class文件已经在[tomcat-home]\webapps\blazeds\WEB-INF\classes\cn\riahome\java目录下;
2、检查remote-config.xml文件里是否已经添加了上述的<destination>标签;
3、有没有重启Tomcat服务器;
4、检查<mx:RemoteObject>标签有没有这两个属性:destination=”helloWorld”、source=”cn.riahome.java.HelloWorld”
5、打开Flex Project的属性面板,查看 Flex Compiler 里的Additional compiler arguments选项,是否已经有“-services”指令,如下图(通常在新建Project的时候就自动添加的)

6、打开Flex Project的属性面板,再次检查 Flex Server 里的 Root folder、Root URL、Conntext root,按一下 Validate Location 按钮测试是否成功
7、检查所有代码有没有错误

 

分享到:
评论

相关推荐

    FLex+java 通讯

    描述中提到的“讲解Flex如何与java通讯 讲解Flex如何与java通讯”,重复的表述暗示了重点在于深入理解这两种技术之间的通信机制。这通常涉及到客户端和服务器端的数据交换,如HTTP服务、AMF(Action Message Format...

    flex+java前后台通讯

    《Flex与Java后台通信详解》 在现代的Web开发中,前端与后端的数据交互是不可或缺的一部分。本文将深入探讨如何使用Flex与Java进行后台通信,以实现动态、实时的Web应用。首先,我们将从创建Java项目开始,然后讨论...

    Flex+blazeds+java发布/订阅聊天程序

    Flex+BlazeDS+Java发布/订阅聊天程序是一种基于Adobe Flex前端、BlazeDS作为中间件、Java作为后端服务的实时通信解决方案。这个程序利用了发布/订阅(Publish/Subscribe)模式,允许用户实时地收发消息,类似于即时...

    Flex+Java+BlazeDS多文件上传

    在文件上传场景中,BlazeDS作为Flex与Java之间的通讯中间件,负责将Flex客户端发送的文件数据转发给Java服务端,并将服务端的响应回传给Flex。 4. **文件上传实现**: - **前端**:在Flex应用中,用户可以选择或...

    Flex与java通讯

    Flex与Java之间的通信是开发富互联网应用程序(RIA)时经常遇到的一个重要技术问题。Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言...

    flex+EJB3.0(GDS通讯)

    本文将深入探讨“flex+EJB3.0(GDS通讯)”这一主题,结合实际开发实例,阐述如何利用AMF3协议在JBOSS应用服务器上实现两者的整合。 Flex是Adobe公司推出的一种富互联网应用程序(RIA)开发框架,主要用于构建具有...

    flex 与Java通讯

    一、Flex与Java通讯的基础 1. BlazeDS:BlazeDS是Adobe提供的一个开源项目,它提供了与Java服务器进行AMF(Action Message Format)通讯的能力。AMF是一种高效的数据交换格式,能够快速传输对象,降低了网络传输的...

    Flex与java通讯例子

    在标题提到的“Flex与Java通讯例子”中,我们可以推测这是一个示例项目,展示了如何在Flex前端和Java后端之间传递参数。下面将详细介绍Flex与Java通信的基本原理和步骤: 1. **AMF通信**:AMF是一种二进制格式,...

    flex与java通讯配置源码demo

    Flex与Java之间的通讯是Web应用程序开发中的重要环节,特别是在构建富互联网应用(RIA)时。Flex作为Adobe开发的客户端UI框架,主要用于创建交互性强、视觉效果丰富的用户界面,而Java则在服务器端处理业务逻辑和...

    基于flex4+java的聊天通信程序

    【基于Flex4+Java的聊天通信程序】是一个融合了前端技术与后端技术的实时通讯应用,主要用于实现用户之间的互动交流。在这个系统中,Flex4作为客户端开发工具,提供了丰富的图形用户界面(GUI)和交互体验,而Java则...

    Flex和Java通讯方法(全)

    标题中的“Flex和Java通讯方法(全)”指的是在开发中如何使用Adobe Flex(一个用于创建富互联网应用程序的开源框架)与Java应用程序进行通信的全面技术。这种通信通常涉及到客户端(Flex应用)与服务器端(Java应用)...

    PureMVC+Flex+BlazeDS+Spring+Hibernate

    MyEclipse和Flex Builder作为开发工具,BlazeDS的war文件需要部署到Tomcat服务器,以提供Flex与Java服务之间的通信桥梁。数据库方面,SQL Server负责存储数据,JDBC驱动和proxool连接池用于连接数据库。 在项目创建...

    Flex与Java交互通讯视频详解

    10. **学习资源**:提供的“Flex与Java通讯-1.exe”和“Flex与Java通讯-2.exe”很可能是教学视频,而“flex连接java.TXT”可能是配套的代码示例或笔记,帮助学习者深入理解并实践Flex与Java的交互技术。 以上是关于...

    基于BlazeDS实现Flex和Java通讯.pdf

    基于BlazeDS实现Flex和Java通讯

    flex+blazeDS配置指南

    而BlazeDS是Adobe提供的一个免费服务器端组件,用于实现Flex与Java后端的数据通信。本文将深入探讨如何配置Flex与BlazeDS,让它们协同工作,实现高效、稳定的数据交换。 首先,我们需要准备必要的工具和环境。...

    flex 与 java 通讯 (个人修改版)

    Flex与Java的通信通常依赖于 BlazeDS 或 LCDS (LiveCycle Data Services),这两个是Adobe提供的服务,允许Flex与Java应用通过AMF(Action Message Format)进行高效的数据交换。AMF是一种二进制格式,可以提高传输...

    flex与java通讯,URL,HTTPService,Socket

    Flex与Java之间的通信是开发跨平台应用程序时的关键技术,它允许客户端(通常为Flex应用程序)与服务器端(通常是Java应用程序)进行数据交换。本篇将深入探讨几种主要的通信方式:URLLoader,HTTPService和Socket。...

    lcds flex与java通讯工具

    lcds是用于来连接java数据库的哦!使用Flex 3 plugin+Eclipse+lcds 欢迎大家下载

Global site tag (gtag.js) - Google Analytics