首先下载最新的 BlazeDS
http://opensource.adobe.com/blazeds/
最新BlazeDS下载地址.
http://opensource.adobe.com/wiki/display/blazeds/Release+Builds
下面就开始使用flex 创建一个 带java 的web 工程了.
创建工程
下载的是一个 war 文件..不用解压缩. 这个在创建工程的时候用到.
创建一个 flex的工程.
选择 J2EE.
设置 flex 生成文件目录.我是直接修改成WebContent/flex_web文件夹下面
方便flex 编译后 直接放到这个地方.而不用再拷贝一下了.
设置flex 源文件 目录.
这样编译后的flex 就放到 WebContent下面的flex_web文件夹了.
而编译后的java 还放到 WEB-INF/classes文件夹下面.
并且在war里面的lib也一起拷贝过来了.
然后启动tomcat.6.0
就可以访问.
运行远程调用.
然后引用 flex 开发宝典的例子.
下载地址.:
http://as.wiley.com/WileyCDA/WileyTitle/productCd-0470287640,descCd-DOWNLOAD.html?filter=DOWNLOAD
第 chapter24 的源文件夹.
修改配置编译文件.选择工程属性.
添加源文件.
然后 修改
remoting-config.xml
添加
<destination id="helloClass">
<properties>
<source>flex3Bible.ROService</source>
<scope>application</scope>
</properties>
</destination>
添加一个远程访问的类.
类就是一个普通的pojo类.
public class ROService {
public ROService() {
System.out.println("初始化类.");
}
public String helloWorld() {
System.out.println("函数被调用.");
return "Hello from the world of Java";
}
...
flex调用代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#EEEEEE">
<mx:Script>
<![CDATA[
import mx.rpc.remoting.mxml.Operation;
private function callIt():void
{
var op:Operation = roHello.getOperation("helloWorld") as Operation;
op.send();
}
]]>
</mx:Script>
<mx:RemoteObject id="roHello" destination="helloClass"/>
<mx:Label text="Hello from BlazeDS!" fontSize="14" fontWeight="bold"/>
<mx:Button label="Click to say hello" click="callIt()"/>
<mx:Label text="{roHello.helloWorld.lastResult}"
fontSize="14" fontWeight="bold"/>
</mx:Application>
然后访问 tomcat 地址:
http://127.0.0.1:8080/chapter24_test/flex_web/CallOperation.html
发现调用不成功.弹出 debug 错误信息. (ie 下面安装了 flashplayer_10_ax_debug)
从错误信息可以很明显的发现是 访问不到服务.
'http://127.0.0.1:8080/WebContent/messagebroker/amf'"
我的tomcat 路径不是这个 .WebContent是文件夹的名字.
最后找到问题.
修改 工程属性 的 serve 配置.
修改了配置文件后. 重新编译 flex 文件.
不知道这个配置文件是否和flex生成的文件有关系.就重新编译了下.
访问页面可以调用.
显示 是从 java的服务端调用.
总结:
工具配置生成.做了好多事情.剩下的就是在.remoting-config.xml里面添加自己的java类.然后在flex里面调用.
<mx:RemoteObject id="roHello" destination="helloClass"/> 进行调用下.
这样就可以通信了.工程里面还有几个例子.大同小异.
- 大小: 16.2 KB
- 大小: 10.3 KB
- 大小: 20.2 KB
- 大小: 15.5 KB
- 大小: 17.6 KB
- 大小: 19.7 KB
- 大小: 23.1 KB
- 大小: 6.8 KB
- 大小: 20 KB
- 大小: 2.2 KB
分享到:
相关推荐
在Flex和Java之间进行远程调用,最常见的技术之一是使用AMF(Action Message Format)。AMF是一种二进制数据格式,能够高效地序列化和反序列化ActionScript对象,使得 Flex与Java之间的数据交换更为快速和高效。...
总结来说,"flex使用BlazeDS远程调用java例子"涉及到的技术主要包括Flex前端开发、BlazeDS作为中间件以及Java后端服务的创建。这个例子展示了如何利用Flex的强交互性和BlazeDS的高效通信能力,构建一个跨平台的RIA...
BlazeDS支持AMF(Action Message Format)协议,能高效地传输数据,同时提供了Remoting和Message Broker服务,使得Flex可以调用Java的远程方法并实现事件推送。配置BlazeDS,需要在Java应用服务器如Tomcat中部署...
Flex Messaging Core是Flex Remoting模块的关键部分,提供了远程方法调用(RMI)的能力,使客户端可以像调用本地方法一样调用远程服务器上的服务。 在flex-messaging-core.jar中,包含了一些关键组件和接口,例如: ...
总结来说,Flex调用Java方法的关键在于配置Blazeds,定义Java服务,以及在Flex客户端使用`RemoteObject`进行远程调用。这个过程涉及到Flex和Java的集成,Blazeds作为桥梁,使得客户端能够透明地调用服务器端的业务...
2. 远程方法调用:通过BlazeDS,Flex可以调用Java的算法和数据库连接,从而实现了实时的业务逻辑调用。 3. 消息队列:通过BlazeDS,Flex可以实现消息队列的功能,从而实现了实时的股票消息推送。 基于BlazeDS技术...
- 实现`clickHandler()`、`resultHandler()`和`faultHandler()`方法,分别处理按钮点击、远程方法调用成功和失败的事件。 在这个项目中,用户在Flex客户端的输入框中输入文本,点击“Say”按钮,`clickHandler()`...
6. **flex-messaging-remoting.jar**:远程方法调用(Remoting)是Flex Messaging的重要组成部分,这个JAR包实现了Flex客户端与Java后端之间的远程对象调用。通过使用Flex Remoting,开发者可以像调用本地对象一样...
4. **Flex与Java通信**:使用AMF(Action Message Format)协议进行数据交换,创建Flex客户端与Java服务端的连接,展示如何定义和调用远程服务。 5. **数据管理和服务**:讲解如何使用LCDS的LiveCycle Data ...
Flex、LCDS(LiveCycle Data Services)和Java的结合是Adobe Flex开发中常见的技术栈,主要用于构建富互联网应用程序(Rich Internet Applications,RIAs)。本文将深入探讨这些技术及其相互之间的协同工作方式。 ...
书中详细介绍了BlazeDS的工作原理和使用方法,包括消息处理、远程调用、数据推送等功能,以及如何配置BlazeDS与Java应用服务器的集成。通过BlazeDS,开发者能够轻松实现Flex与Java之间的实时数据同步,提升应用的...
6. **Java集成**:通过LCDS,Flex可以直接调用Java的远程方法(RPC),使用JavaBeans或EJB作为数据源,或者将Java集合暴露给Flex客户端。 7. **数据推送**:LCDS支持双向通信,允许服务器主动向客户端推送数据,这...
综上所述,Flex调用Web服务和Java程序涉及到多个技术层面,包括Web服务的调用方式、Flex与Java的集成、事件驱动编程以及错误处理等。理解并掌握这些知识点,将有助于构建高性能、交互性强的Flex应用。
综上所述,"flexjava-sockete.rar"文件可能包含了一个使用FlexJava进行Socket通信的实例,涵盖了从基础的Socket连接创建到数据传输、异常处理以及可能的多线程和安全性方面的内容。通过学习和实践这个项目,开发者...
Flex与Java远程传值是Web开发中的一个重要技术组合,它允许富互联网应用程序(RIA)如Flex客户端与服务器端的Java应用进行数据交换。本示例是一个综合性的项目,包括两个模块:一个基于Flex的前端应用和一个基于Java...
Flex和Java都是成熟的技术,它们各自在开发领域内扮演重要角色。而BlazeDS是一个开源的Java库,主要用于在Java服务器端与Adobe Flex前端之间进行实时数据通信,它支持AMF(Action Message Format)协议。在Flex+Java...
6. **数据访问和持久化**:讲解了如何通过Hibernate或其他ORM工具在Java后端处理数据库操作,以及如何通过Flex客户端进行远程调用。 7. **性能优化**:提到了一些提升Flex应用性能的策略,例如减少网络通信、优化...
8. **Flex与Java通信**:使用BlazeDS/LCDS,我们可以创建Flex Remoting配置,定义在客户端和服务器之间的远程方法调用。这允许Flex应用直接调用Java服务,获取和更新数据。 9. **数据模型和服务接口**:在Java端...