<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    用動作去驅動未來

    生命在于運動,讓自己身體的每一個細胞都動起來吧.

     

    FLEX與JAVA之間的通信

    一種方法:使用BlazeDS實現Java和Flex通信

    BlazeDS 是一個基于服務器的 Java 遠程控制 (remoting) 和 Web 消息傳遞 (messaging) 技術,它能夠使得后端的 Java 應用程序和運行在瀏覽器上的 Adobe Flex 應用程序相互通信。這篇文章中,我講述一種方法(也許不是最好的)使得我能夠成功地利用 BlazeDS 和 Flex 建立一個簡單的程序。使用的 IDE 是 eclipse, 而并非 Flex Builder. 下面我將逐步介紹怎么實現這個簡單的程序。

    1. 安裝 JDK 和 Tomcat, 并且實現成功配置。

    2. 安裝 Flex SDK. 詳細請見官方文檔

    3. 下載 BlazeDS , 如果你使用的是 turnkey 版本(建議下載此版本)里面實際上包含了 Tomcat 服務器了。

    下面介紹只安裝 BlazeDS 的 web application 版本(但是仍然下載的是 Turnkey 版本)。

    下載的 zip 包里面包含了:

    blazeds.war: 主要的 BlazeDS war 文件,用來建立你的 BlazeDS 應用程序。

    Sample.war 就是 BlazeDS 例子了。

    Ds-console.war ,簡單的 BlazeDS 部署管理程序。

    每一個 war 程序都是獨立的,假如你使用 J2EE 的 web 應用程序選項,那么你必須有一個 J2EE 應用服務器或者 servlet 容器。比如使用 Tomcat. 而且必須把剛才的三個 war 文件部署在 Tomcat_Home ( tomcat 安裝目錄)下的 webapps 目錄下。然后重啟 Tomcat 服務器,在瀏覽器輸入: http://localhost:8080/samples 如果看到顯示頁面代表就成功了。如果你的應用程序需要使用 HSWLDB 數據庫,那么也拷貝 .zip 文件中的 sampledb 目錄到 webapps 目錄下,然后啟動數據庫。啟動方法很簡單:到 sampledb 目錄下,執行 startdb.bat 就可了 (windows OS) 。 提示:可以的話,在你的 Eclipse 目錄下,找到 eclipse.ini 把最大內存數改成 512.

    4. ( 可選 ) 配置 Tomcat 的用戶角色。即在 Tomcat_Home/conf/tomat-users.xml 添加以下語句:

    Java代碼 

    <role rolename= "manager" /><user username= "abhi"  password= "abhi"  roles= "manager" />   

    <role rolename="manager"/><user username="abhi" password="abhi" roles="manager"/> 

    5.    利用 Eclipse 建立 Flex Project 。工程名字叫做 BlazeApp.    

     

    Application Type 選擇 web application, 服務器選擇 J2EE. 關聯 WTP, 至于代碼文件保存目錄自定義。 Next 。

    6.設置 J2EE 服務器。

    我們選擇 Tomcat, 可能需要手動配置 (new) 。然后選擇 flex war 文件,即我們放在 webapps 目錄下的 blazeds.war.然后 next.

    7.   接著,默認設置,也可自定義。 

     

    接著 next. 其實到這里已經完成了 project 建立.

    8.   接下來你可以在 eclipse 中可以看到整個工程的所有文件以及配置。在開發之前,可能需要修改 context root 配置。點擊 BlazeApp 右鍵,選擇屬性,然后見到如圖 , 修改 context root 值為 BlazeApp. (默認的是 WebContent, 好像不更改也可以。自行測試 … )。

      

    9.  創建 Java 文件。

    點擊 src 文件夾,然后創建 java class. 類的包為 hello, 名字為 HelloWorld.

    Java代碼

     package  hello;    
    public   class  HelloWorld {   
    public  String sayHelloTo(String str) {   
    System.out.println( "Hello "  + str);       
          return   "Hello "  + str; }       
    }  
     

    package hello; public class HelloWorld {public String sayHelloTo(String str) {System.out.println("Hello " + str); return "Hello " + str; } } 

    10.   在 BlazeApp.mxml 文件中新建一個 text 和一個按鈕,來顯示從 HelloWorld 傳回來的信息。

    Xml代碼

    <? xml   version = "1.0"   encoding = "utf-8" ?>     
    < mx:Application   xmlns:mx = " < mx:Script >     
      <![CDATA[ import mx.rpc.events.FaultEvent;   
       import mx.rpc.events.ResultEvent;   
          [Bindable]   
          private var helloResult:String;   
          private function sayHelloTo():void {   
            ro.sayHelloTo(inputText.text);   
            }   
           private function resultHandler(event:ResultEvent):void {   
    helloResult = event.result as String;   
                 } ]]>   </ mx:Script >     
             < mx:RemoteObject   id = "ro"   destination = "helloworld"   result = "resultHandler(event)"   />     
              < mx:HBox   width = "100%" >     
                < mx:TextInput   id = "inputText" />     
                < mx:Button   label = "Submit"   click = "sayHelloTo()" />     
             </ mx:HBox >     
            < mx:Label   text = "{helloResult}" />     
         </ mx:Application >   
     

    <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="

    11.   定義 remote object 使你的 flex 程序能夠調用 java 類。

    首先來配置 /WEB-INF/flex/remoting-config.xml 文件,添加以下粗體部分來新增一個destionation—HelloWorld 類。

    Xml代碼

     <? 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 >   
    < STRONG > < destination   id = "helloworld" >     
          < properties >     
              < source > hello.HelloWorld </ source >     
            </ properties >     
      </ destination > </ STRONG >   
      
      
      
    </ service >   

     12. 配置結束。

    然后選擇 BlazeApp 項目,選擇在服務器上執行。即瀏覽地址為: http://localhost:8080/BlazedApp/BlazedApp.html 如果你能在輸入框輸入字段之后,點擊按鈕能返回 Hello,XXX 的信息,就代表成功了。

    如圖:  
     

    posted on 2010-04-29 10:52 黑螞蟻 閱讀(1083) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    路在腳下,此刻,出發。

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产啪精品视频网站免费尤物| 一级一片免费视频播放| 四虎影视在线影院在线观看免费视频| 亚洲乱码日产精品a级毛片久久| 男女猛烈xx00免费视频试看| 四虎影院在线免费播放| 亚洲av无码一区二区三区在线播放| 毛片在线看免费版| 亚洲精品无码久久久久A片苍井空| 成人免费男女视频网站慢动作| 亚洲精品无码少妇30P| 日本免费一区二区三区最新vr| 小说专区亚洲春色校园| 亚洲精品国产成人影院| 成人A毛片免费观看网站| 亚洲va久久久噜噜噜久久| 亚洲视频在线免费观看| 国产成+人+综合+亚洲专| 国产区卡一卡二卡三乱码免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 99热在线精品免费播放6| 亚洲精品白色在线发布| 国产精品美女午夜爽爽爽免费| 久久精品国产亚洲AV天海翼| 在线观看国产区亚洲一区成人| 久久狠狠躁免费观看| 最新亚洲精品国偷自产在线| 四虎永久在线精品免费观看地址 | 西西大胆无码视频免费| 春暖花开亚洲性无区一区二区| 亚洲永久无码3D动漫一区| 久久久久久AV无码免费网站下载| 亚洲国产精品线观看不卡| www亚洲一级视频com| 国产午夜不卡AV免费| 亚洲影院天堂中文av色| 亚洲中文字幕无码中文字在线| 1000部拍拍拍18勿入免费视频下载| 久久亚洲AV成人无码国产电影| 亚洲精品高清国产一线久久| 野花高清在线电影观看免费视频|