`
snoopy7713
  • 浏览: 1149333 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Flex与服务器交互之四(使用RemoteObject +BlazeDS+TomCat同Java交互及开发环境配置) .

    博客分类:
  • Flex
 
阅读更多

 由于Flex只是一种客户端技术其本身并不能直接同数据库交互,在实际的应用开发过程中Flex提供了如URLRequest、HTTPService、RemoteObject、WebService等类以实现同服务器的通讯和数据交互,下面做一些介绍和实例解析:
   本示例用到的开发工具和组件:jdk1.6、eclipse3.0、  FlexBuilder3.0、  blazeds-turnkey-3.3.0.9885(已包含Tomcat)
   1、安装JDK至指定目录下如:C:/Program Files/Java/jdk1.6.0_16
   2、解压blazeds-turnkey-3.3.0.9885.zip 将tomcat目录拷贝至:D:/Program Files/tomcat
   3、配置或加入我的电脑环境变量:

  1. JAVA_HOME       C:/Program Files/Java/jdk1.6.0_16  
  2. CATALINA_BASE   D:/Program Files/tomcat  
  3. CATALINE_HOME   D:/Program Files/tomcat  
  4. CLASSPATH       %JAVA_HOME%/lib;%CATALINA_HOME%/lib/servlet-api.jar  
  5. Path            %JAVA_HOME%/bin;%JAVA_HOME%/lib;  

 
   4、查看Tomcat服务器配置信息:
      查看D:/Program Files/tomcat/conf/server.xml文件
      找到 <Connector port="8400" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9400" />
      配置的端口信息为“8400”
   5、手动方式启动TomCat检查是否配置成功(当然你也可以在Eclipse中安装TomCat插件控制Tomcat):
      启动命令行“cd D:/Program Files/tomcat/bin”定位至Tomcat Bin目录
      运行“startup.bat”启动TomCat看到如下(启动成功):

 


      浏览器中输入:“http://localhost:8400/”如下(恭喜JAVA环境+BlazeDS+Tomcat配置成功):


   6、建立开发文件夹,拷贝BlazeDS配置文件和用到的配置文件及类库“WEB-INF”至站点目录:
      找到blazeds.war个改后缀为RAR解压找到“WEB-INF”文件夹拷贝至"WebSite"下目录结构如:


      这样做的目的是将JAVA项目同Flex项目Web站点目录分开互不干扰(使用eclipse的Flex开发插件有时会报莫名的错误,Flex开发还是建议用FlexBuilder)
   7、在Eclipse中新建java项目并将编译路径链接至“../WebSite/WEB-INF/classes”目录下如图:

 

 


   8、发布WebSite至TomCat:
      在“D:/Program Files/tomcat/conf/server.xml”文件<Host>节点中新增如下<Context>节点重启TomCat(执行第5步骤运行“shutdown.bat”再运行“startup.bat”)

  1. <Host name="localhost"  appBase="webapps"  
  2.            unpackWARs="true" autoDeploy="true"  
  3.            xmlValidation="false" xmlNamespaceAware="false">  
  4.  <Context path="/WebSite" docBase="E:/学习/BlazeDs/WebSite" debug="0" reloadable="true" crossContext="true" />  
  5. </Host>  

 


   9、新建FLEX 服务器为J2EE的“myBlazeDSFlex”项目至"E:/学习/BlazeDs/Flex"目录


   10、配置服务器及Flex输出目录至“webSite/flex"下,并“Validate Configuration”通过(如图):


   11、你也可以手动设置Felx项目属性(如图)来配置J2EE服务器:


   12、在eclipse中编写完成Java类及方法 并编译:
       UserBean类:
 

  1. package myBlazeDS;  
  2.  public class UserBean {  
  3.   private String _name;  
  4.   private int _age;  
  5.   private String _address;  
  6.   public UserBean(String name,int age,String address)  
  7.   {  
  8.    this._name = name;  
  9.    this._age = age;  
  10.    this._address = address;  
  11.   }  
  12.     
  13.   public void setName(String name)  
  14.   {  
  15.    this._name = name;  
  16.   }  
  17.   public String getName()  
  18.   {  
  19.    return this._name;  
  20.   }  
  21.     
  22.   public void setAge(int age)  
  23.   {  
  24.    this._age = age;  
  25.   }  
  26.   public int getAge()  
  27.   {  
  28.    return this._age;  
  29.   }  
  30.     
  31.   public void setAddress(String address)  
  32.   {  
  33.    this._address = address;  
  34.   }  
  35.   public String getAddress()  
  36.   {  
  37.    return this._address;  
  38.   }  
  39.  }  

 

 

 外部接口类BlazeDSService:
 

  1. package myBlazeDS;  
  2.   
  3.  public class BlazeDSService {  
  4.   public String GetBlazeService(String user)  
  5.   {  
  6.    return user +":欢迎使用Java BlazeDS同Flex交互";  
  7.   }  
  8.   public UserBean GetUserInfo(String name,int age,String address)  
  9.   {  
  10.    return new UserBean("User:" + name, age,address + " China");  
  11.   }  
  12.  }  

 

  13、配置“E:/学习/BlazeDs/WebSite/WEB-INF/flex/remoting-config.xml”增加(如图):

  1. <destination id="FirstBlazeService">  
  2. <properties>  
  3.  <source>  
  4.   myBlazeDS.BlazeDSService  
  5.  </source>  
  6.  <scope>application</scope>  
  7. </properties>  
  8. </destination>  

 

 


    14、在Flex引入RemoteObject 指定destination属性加入调用方法<mx:method>节点如:

  1. <mx:RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">  
  2.  <mx:method name="GetBlazeService" fault="onBlazeDSFalut(event)" />  
  3.  <mx:method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />  
  4. </mx:RemoteObject>  

 


  15、完整体Flex页面代码:
   

  1. <?xml version="1.0" encoding="utf-8"?>  
  2.  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
  3.  <mx:RemoteObject id="myJavaService" destination="FirstBlazeService" showBusyCursor="true">  
  4.   <mx:method name="GetBlazeService" fault="onBlazeDSFalut(event)" />  
  5.   <mx:method name="GetUserInfo" result="getUserBean(event)" fault="onBlazeDSFalut(event)" />  
  6.  </mx:RemoteObject>  
  7.  <mx:Canvas width="653" height="190" x="10" backgroundColor="#297E8D" fontSize="15">  
  8.   <mx:Script>  
  9.    <!--[CDATA[  
  10.     import mx.rpc.events.FaultEvent;  
  11.     import mx.rpc.events.ResultEvent;  
  12.     import mx.controls.Alert;  
  13.     import mx.core.UIComponent;  
  14.     import mx.core.BitmapAsset;  
  15.     import mx.core.ByteArrayAsset;  
  16.     private function onCallJava():void  
  17.     {  
  18.      myJavaService.GetBlazeService(nameInput.text);  
  19.     }  
  20.     private function onCallBean():void  
  21.     {  
  22.      myJavaService.GetUserInfo(txtName.text,int(txtAge.text),txtAddress.text);   
  23.        
  24.     }  
  25.     private function getUserBean(e:ResultEvent):void  
  26.     {  
  27.      var o:*=e.result as Object;  
  28.      vtxtName.text = o.name;  
  29.      vtxtAge.text = o.age;  
  30.      vtxtAddress.text = o.address;  
  31.     }   
  32.     private function onBlazeDSFalut(e:FaultEvent):void  
  33.     {  
  34.      Alert.show(e.message.toString());  
  35.     }   
  36.    ]]-->  
  37.   </mx:Script>  
  38.   <mx:TextInput id="nameInput"  x="108" y="18" width="145"/>  
  39.   <mx:Button label="Call Java" click="onCallJava();" x="274" y="18" fillAlphas="[1.0, 1.0]"/>  
  40.   <mx:TextArea text="{myJavaService.GetBlazeService.lastResult}"  x="397" height="34" width="246" y="19"/>  
  41.   <mx:Label x="10" y="61" width="632" height="2"/>  
  42.   <mx:Label x="10" y="80" text="UserName:"/>  
  43.   <mx:Label x="10" y="117" text="UserAge:"/>  
  44.   <mx:Label x="10" y="150" text="Address:"/>  
  45.   <mx:TextInput x="108" y="78" id="txtName" width="146"/>  
  46.   <mx:TextInput x="107" y="115" id="txtAge" width="147"/>  
  47.   <mx:TextInput x="107" y="148" id="txtAddress" width="147"/>  
  48.   <mx:Button x="272" y="112" label="Call Bean" id="btnCallBean" click="onCallBean();"/>  
  49.   <mx:Text x="397" y="80" width="246" id="vtxtName"/>  
  50.   <mx:Text x="397" y="117" width="246" id="vtxtAge"/>  
  51.   <mx:Text x="397" y="150" width="246" id="vtxtAddress"/>  
  52.   </mx:Canvas>  
  53.  </mx:Application>  
  54.     

 

      16、DEMO完成后目录结构如图:

 

  17、DEMO功能完成最终效果如图:源码下载:
  

  flex还可以通过如XMLSocket FMS 二进制套接字等同服务器交互,就不再赘述了本系列课程到此告一段落!

 

分享到:
评论
1 楼 seektolive 2012-07-18  
刚认真的看完了整个系列  讲的挺全的。

相关推荐

    Flex4+J2EE+Blazeds配置jspweb工程

    6. **在Flex客户端调用Java服务**:在Flex项目中,使用RemoteObject或HTTPService组件,通过Blazeds与Java后端建立连接。设置相应的端点URL和方法映射,以便调用Java服务。 7. **测试与部署**:运行Flex应用程序,...

    flex3(4)+javaEE+Blazeds独立配置

    【Flex+JavaEE+BlazeDS 开发环境配置】是一个重要的技术组合,它允许开发者构建富互联网应用程序(RIA)并将后端Java服务与前端Flex界面紧密集成。在Flex工程和Java工程独立配置的情况下,BlazeDS作为一个中间件,...

    flex + j2ee+blazeds 配置

    Flex + J2EE + BlazeDS 配置是一个用于构建富互联网应用程序(RIA)的技术组合,它将客户端的Flex界面与服务器端的Java EE服务紧密结合。本文将详细介绍如何配置这一技术栈,帮助开发者快速上手。 首先,我们需要...

    Flex+java+blazeds

    ### Flex与Java交互技术详解:BlazeDS应用实践 #### 技术背景及介绍 随着互联网技术的发展,前后端分离架构越来越受到开发者的青睐。在这样的背景下,如何实现富客户端与后端服务的有效通信变得尤为重要。Adobe ...

    Flex+Blazeds与Java_Web_Project整合开发配置有图有真相[整理].pdf

    在配置Flex+BlazeDS与Java Web Project的集成开发环境时,首先要下载BlazeDS。BlazeDS可以从Adobe的开源仓库中获取,它包含了与Java应用程序交互所需的各种组件和库。下载完成后,将其解压到Tomcat服务器的webapps...

    Flex + blazeds + Java入门搭建与简单应用

    BlazeDS提供了消息服务、Remoting服务、LiveCycle Data Services等功能,使得Flex客户端能与Java服务器进行无缝交互。 3. **环境搭建** 首先,我们需要安装Adobe Flex SDK和Flash Builder。然后,下载并配置...

    flex与java通过BlazeDs进行交互

    在配置Flex与Java通过BlazeDS进行交互的环境中,首先我们需要准备的是MyEclipse 8.5集成开发环境,这是开发Flex和Java项目的常用工具。为了在MyEclipse中支持Flex开发,我们需要安装Adobe Flash Builder插件。这个...

    J2EE+Flex+Blazeds配置实例

    在本文中,我们将深入探讨如何配置一个基于J2EE、Flex和Blazeds的应用实例。首先,我们需要了解这些技术的基本概念。J2EE(Java 2 Platform, Enterprise Edition)是用于构建企业级分布式应用程序的平台,它包含了...

    j2ee+flex+blazeds 配置实践

    1. 安装环境:确保已安装Java JDK、J2EE应用服务器、Flex SDK和BlazeDS。 2. 创建J2EE项目:在IDE中创建一个新的Maven或Eclipse项目,添加必要的J2EE库。 3. 集成BlazeDS:下载并解压BlazeDS,将lib目录下的jar文件...

    MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载

    【MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载】是一个关于集成开发环境MyEclipse 8.5与Adobe的BlazeDS集成使用的教程资源包,包含了配置文档和示例代码,以及BlazeDS的下载链接。这个资源对于开发者来说是...

    跟我一步步搭建PureMVC+Flex+BlazeDS+Spring+Hibernate

    这个过程涉及到了多个技术领域的整合,包括前端的Flex开发、后端的Java开发以及数据库交互等多个方面。 ### 一、安装软件与配置 #### 1. MyEclipse 6.0.1 的安装与注册 - **完整文件名**:`MyEclipse_6.0.1GA_E...

    Flex与java交互.doc

    下面我们将详细探讨如何实现Flex与Java的交互,以及在设置开发环境时的一些关键步骤。 首先,Flex与Java的交互主要通过BlazeDS这个中间件来实现。BlazeDS是一个开源的服务器端组件,它提供了AMF(Action Message ...

    flex+BlazeDS整合j2ee开发环境的配置过程

    Flex 是一款用于构建高度交互式Web应用的软件开发工具,而BlazeDS则是一个允许Flex和AIR客户端应用程序与Java服务器进行通信的开放源码服务器端Java库。通过这种整合,开发者可以在客户端使用Flex创建丰富的用户界面...

    flex4+spring+blazeds整合技术

    开发环境通常包括MyEclipse或IntelliJ IDEA等集成开发环境,配合Flex Builder插件进行Flex项目开发,JDK1.6或更高版本,Flex SDK 3.2及以上,以及Tomcat 6.0或更高版本的服务器。 2. **创建JAVA Web工程**: 在...

    flex+Cairngorm+blazeds整合.doc

    Flex 提供了强大的用户界面组件和图形库,Cairngorm 是一个轻量级的MVC框架,而BlazeDS则是用于Flex与Java后端服务之间数据交互的中间件。这篇文档将详细介绍如何将这三个技术整合到一起,以实现高效、可扩展的RIA...

    Flex+BlazeDS+Spring环境一步步搭建

    **集成Remote Object到Spring**:在Flex客户端,使用RemoteObject组件与BlazeDS建立连接,然后在Spring配置文件中定义相应的服务代理,以便于Spring管理这些远程服务。 D. **引入Hibernate框架**:在Java后端,...

    BlazeDS集成Flex+Tomcat开发J2EE模块整合实例

    BlazeDS、Flex和Tomcat是Java开发领域中用于构建富互联网应用程序(Rich Internet Applications,RIA)的关键技术。本文将详细解析如何将这三个组件整合在一起,以开发一个J2EE模块,并通过实际案例来阐述这一过程。...

    Flex+BlazeDS整合J2ee示例

    Flex是基于ActionScript和MXML的开发框架,用于创建具有动态用户界面的Web应用,而BlazeDS是Adobe提供的一个开源服务器端组件,它作为一个数据推送中间件,允许Flex客户端与Java后端进行实时双向通信。 在这个示例...

Global site tag (gtag.js) - Google Analytics