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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

    BlazeDS 是一個基于服務器的 Java 遠程控制 (remoting) 和 Web 消息傳遞 (messaging) 技術,它提供了 Java 應用程序和運行在瀏覽器上的 Adobe Flex 應用程序相互通信的一種手段,并且是一種高效的手段。也就是說它實現了 Java 和 Flex 的無縫集成。

    BlazeDS是開源的,Adobe原來有一個商業版本,這是商業版本的開源化的產品,功能比商業版本少一些,但基本滿足需要。

    Flex與后臺服務器上的應用程序通信的手段有三個:
    (1) HTTPService: 采用標準的HTTP請求,服務器返回 XML 格式的消息;
    (2) WebService: 采用SOAP消息格式進行通信,也是XML格式,它是一種專門用于Web的業界標準;
    (3) RemoteObject: 采用 AMF 消息格式進行通信,這是二進制的格式,因此它的效率最高。BlazeDS就是采用這個技術的。

    據說 BlazeDS 還將開發適用于 .net 和 PHP 版本,不過采用相同技術(RemoteObject)的各種開源產品也已有多種了,可在 Java, .net, PHP下使用。

    本文的目的是詳細說明BlazeDS開發環境的安裝,以及創建BlazeDSr的 Hello, world! 項目的過程。

    一、相關軟件
    1、安裝 Java JDK 5.0 以上版本;
    這是必備的。
    2、安裝 Eclipse 3.2 以上版本;
    這也是必備的。
    3、安裝 MyEclipse 6.0 以上版本;
    它用于開發 J2EE 項目,可編寫 Java 程序,編寫網頁等。
    4、安裝 Flex Builder 3 Plug-in版本(不能用獨立版本);
    它用于開發 Flex 前端界面。
    5、安裝 tomcat 6.0 以上版本;
    Web服務器,也可用其它的,例如JBoss等。
    6、下載 BlazeDS,有二個版本:
    一是只有4M大小的版本,這是核心;
    二是166M的版本,稱為blazeds-turnkey,它內置了tomcat以及文檔、實例和支持實例的數據庫系統(HSQL),以及flex sdk。
    本教程只需BlazeDS的核心,下載后備用。

    二、安裝過程
    1、安裝 Java JDK 5.0 或 6.0,注意不是JRE,只要一路 Next 就行;
    安裝完要作環境變量配置:
    JAVA_HOME,為JDK的安裝目錄,如 C:\Program Files\Java\jdk1.6.0_06
    CLASSPATH,值為 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar,注意最前面的句號,不能漏了;
    path,為安裝目錄下的 bin目錄,值為 %JAVA_HOME%\bin

    2、安裝 Eclipse 3.2,只要解壓縮到任意一個目錄中;
    直接運行其中的 eclipse.exe 文件即可,為提高運行速度,可為其分配更多的內存,即運行時加上下述參數:
    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
    方法是為 eclipse.exe 建立一個快捷方式,然后在快捷方式的屬性中在eclipse.exe后加一空格,再加上上述參數

    3、安裝 MyEclipse 6.0 以上版本,在安裝過程中需要指定 Eclipse 的位置,然后一路 Next即可;
    安裝后運行MyEclipse或eclipse都同樣是打開MyEclipse;

    4、安裝 Flex Builder 3 Plug-in版本,可以安裝在任意的目錄中,在安裝過程中同樣需要指定 Eclipse 的位置,然后一路 Next 即可;
    安裝后需配置 eclipse:
    在上述第2步中的eclipse目錄下創建一個目錄,名為links,如果已經存在該目錄(通常是已有了),則使用原有的;
    在links目錄下新建一個文件,名為 flex.link(文件名任意,后綴必須是link),內容為path=Flex Builder 3 Plug-in的安裝目錄,例如:
    path=D:\\program\\Adobe\\Flex Builder 3 Plug-in
    注意目錄的分隔符或者用“\\”,或者用“/”,前者為Windows風格,后者為Linix風格;

    5、安裝 tomcat 6.0,將文件解壓縮到任意目錄中。

    6、BlazeDS 在創建項目時用;

    三、創建Hello, workd項目:
    下述步聚將創建名為web的一個集成Java的Flex項目, 需要時還可以添加 hibernate, spring能力。下面的web都是指項目名,可以改為你的項目名。
    1、創建一個MyEclipse的Web Project項目;
    在MyEclipse中,選擇 File -> New,在彈出的菜單中選 Web Project,如果看不到該選項,則選 Others,然后再選:
    MyEclipse -> Java Enterprise Projects -> Web Project
    在下一步中指定項目的名稱,例如web,在這一步中記得將Source folder改為另外的名字,例如javasrc或jsrc,這是為了避免與flex的源文件夾名沖突;
    其它保留默認值,完成項目的創建。

    2、為項目配置服務器
    首先啟動 tomcat 服務器:
    在tomcat解壓縮的目錄中的bin下找到 startup.bat 文件,雙擊運行,這時將打開一個命令行窗口,在整個開發過程中不要關閉這個窗口,否則tomcat就停止了。
    配置MyEclipse使用上述的tomcat 服務器;
    將項目發布到 tomcat服務器;
    上述2個小步聚不會做的,請查一下MyEclipse項目的使用的資料(配置tomcat,發布項目,啟動和停止tomcat)。
    配置后可以用瀏覽器測試項目是否能正常運行:
    http://127.0.0.1:8080/web/index.jsp

    3、將 BlazeDS 解壓縮到項目中,步聚如下:
    將下載的 BlazeDS.war 文件改后綴名為 zip,然后解壓縮到任意的目錄中,再將解壓縮出來的二個文件夾移動或復制到前一步中創建的項目中。
    注意:這兩個文件夾是META-INF和WEB-INF,要把它們覆蓋上一步創建的項目中的同名目錄,僅是目錄名相同,文件是不同的。

    復制后不要忘記重新發布一下項目,否則下一步不能做。

    4、為項目添加Flex Project Nature;
    這一步比較重要,必須是在前述所有步聚正確完成后才能進行:
    從項目右鍵菜單中選擇 Flex Project Nature -> Add Flex Project Nature (在選擇中是第二個選擇);
    在彈出的窗口中的Application server type 選擇 J2EE;
    在下一個窗口中設置好合適的參數:
    (1)反選 Use default location for local LiveCycle Date Services server
    (2)Root folder: 選擇項目發布的目錄:例如:D:\program\tomcat6\webapps\web
    (3)Root URL: 在瀏覽器中訪問項目的網址,例如:http://localhost:8080/web/
    (4)Context root: 項目的上下文,一般就是項目名,例如:/web
    項目必須是有BlazeDS的相關包,即上一步中復制到項目中,然后再發布到上述設置的目錄中。
    設置好后,還需要點擊 Validation configuration,測試配置是否正確,只有正確時,才能繼續進行下去。
    這時會出現一個錯誤提示,當完成下述設置后,錯誤將得到改正。并且整個項目創建完成。
    修改項目的Flex Compile選項:
    從項目右鍵菜單中選擇 Properties;
    在打開的窗口中選擇 Flex Compiler,然后在右邊的 User a specific SDK中選 Flex 3.2。

    項目創建成功

    4、測試Flex 前端;
    先測試 Flex 前端,在web.mxml文件中增加一行,添加一個Label,使整個文件內容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Label x="228" y="95" text="Hello, World!"/>
     
    </mx:Application>

    按執行按鈕,這時應該彈出瀏覽器窗口,能看到頁面的內容 Hello, World!

    5、測試與Java的集成:
    將項目切換到MyEclipse Java Enterprise 視圖
    在javasrc中按需要創建包,然后創建一個類:

    package org.ngweb.flex;
     
    public class Hello {
    public String sayHello(){
    return "Hello, world!";
    }
    public String sayHello(String s){
    return "Hello, "+s+"!";
    }
    }

    將項目視圖切換到 Flex Development 視圖:
    打開 WebRoot/WEB-INF/flex/remoting-config.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>
     
    <!-- 新增的是下面六行,其它沒有改變 -->
    <destination id="helloWorld">
    <properties>
    <!-- 這里要寫完整路徑:包名 + 類名 -->
    <source>org.ngweb.flex.Hello</source>
    </properties>
    </destination>
    </service>

    然后在web.mxml中,添加一段代碼(第4步增加的Label可以刪除掉),使其成為(可以直接復制使用,有關代碼的含義請參見其它資料):

    <?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 resultHandler(event:ResultEvent):void {
    Alert.show(event.result.toString(), "成功");
    }
     
    private function faultHandler(event:FaultEvent):void {
    Alert.show(event.fault.toString(), "失敗");
    }
    ]]>
    </mx:Script>
     
    <!-- destination 屬性值要和 remoting-config.xml 中 destination 的 id 一致-->
    <mx:RemoteObject id="remoteObject"
    destination="helloWorld"
    result="resultHandler(event)"
    fault="faultHandler(event)"/>
     
    <mx:Button label="發送消息" click="remoteObject.sayHello('huang')" x="256.5" y="197"/>
     
    </mx:Application>
    posted on 2010-10-25 10:53 HUIKK 閱讀(2478) 評論(0)  編輯  收藏 所屬分類: FLASH
    主站蜘蛛池模板: 亚洲色偷偷综合亚洲AVYP| 午夜色a大片在线观看免费| 日本中文一区二区三区亚洲| 亚洲无吗在线视频| 99久久99久久精品免费看蜜桃| 亚洲s色大片在线观看| 免费黄色电影在线观看| 久久亚洲国产中v天仙www| 久久99久久成人免费播放| 国产自偷亚洲精品页65页| 一级做a免费视频观看网站| 国产亚洲人成网站在线观看| 男男gvh肉在线观看免费| 亚洲第一页日韩专区| 99久久婷婷免费国产综合精品| 亚洲人成网7777777国产| 最近中文字幕大全免费版在线| 亚洲AV无码久久精品色欲| 99re免费99re在线视频手机版| 亚洲制服在线观看| 四色在线精品免费观看| 特级aa**毛片免费观看| 亚洲?V无码乱码国产精品| 99re6在线视频精品免费| 亚洲人成网www| 免费看a级黄色片| 又粗又长又爽又长黄免费视频| 亚洲级αV无码毛片久久精品| 8x成人永久免费视频| 亚洲熟妇AV一区二区三区宅男| 免费在线观看黄网站| 日韩视频在线观看免费| 亚洲激情视频图片| 亚洲国产综合精品中文字幕| 无码av免费网站| 亚洲国产成人久久一区二区三区| 在线观看亚洲成人| 99久久久精品免费观看国产| 一级毛片在播放免费| 亚洲国产成人九九综合| 亚洲精品视频免费|