亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

BlazeDS 整合 Flex HelloWorld 示例

系統 2274 0

開發環境:

System:Windows

WebBrowser:IE6+、Firefox3+

JavaEE Server:tomcat5.0.2.8、tomcat6

IDE:eclipse、MyEclipse 8

Flex IDE:Flash Builder 4

BlazeDS:4.5

開發依賴庫:

JavaEE5、blazeDS 4.5

Email:hoojo_@126.com

Blog: http://blog.csdn.net/IBM_hoojo

http://hoojo.cnblogs.com/

?

一、準備工作

1、 首先要提供相關的jar包

Java服務器端需要提供BlazeDS相關的配置和jar包

下載地址: http://opensource.adobe.com/wiki/display/blazeds/download+blazeds+trunk

下載后,解壓你可以看到這樣的一個目錄

BlazeDS 整合 Flex HelloWorld 示例_第1張圖片

Docs就是文檔

Resource是源碼

SampleDB是示例用的數據庫,可以運行startdb.bat來啟動數據庫

Tomcat是內置的tomcat,如果你沒有tomcat的話可以使用它,在tomcat的webapps目錄中有samples示例

blazeds.war就是blazeDS的核心文件、庫,你可以把這個war放到tomcat的webapps目錄下,就會自動解壓。當然你也可以自己手動解壓。

Blazeds-spring.war是和spring整合的配置

Ds-console.war是blazeDS的控制臺程序

Samples.war是官方提供的示例

Samples-spring.war是spring和blazeDS的整合示例

二、部署服務器端程序

1、新建一個JavaWeb Project工程,然后在WEB-INF/lib目錄中添加如下jar包

BlazeDS 整合 Flex HelloWorld 示例_第2張圖片

這些jar包可以在blazeds.war包中的lib目錄中可以找到

2、 然后你需要將blazeds.war包中的WEB-INF目錄下的flex目錄復制到當前工程的WEB-INF下

3、 將blazeds.war包中的WEB-INF目錄下的web.xml的配置,添加到當前工程的web.xml文件中

4、 最后基本的樣式如下

BlazeDS 整合 Flex HelloWorld 示例_第3張圖片

5、 最后你發布當前工程,如果沒有錯誤就表明你服務器端部署成功了。

6、 編寫一個HelloWorld的java程序。代碼如下

        
          package
        
         com.hoo.flex;
      
        ?
      
        
          /**
        
      
        
           * <b>function:</b> HelloWorld Example
        
      
        
           * @author hoojo
        
      
        
           * @createDate 2011-8-31 下午06:11:27
        
      
        
           * @file HelloWorld.java
        
      
        
           * @package com.hoo.flex
        
      
        
           * @project BlazeDSServer
        
      
        
           * @blog http://blog.csdn.net/IBM_hoojo
        
      
        
           * @email hoojo_@126.com
        
      
        
           * @version 1.0
        
      
        
           */
        
      
        
          public
        
        
          class
        
         HelloWorld {
      
      
        
          public
        
         HelloWorld() {
      
            }
      
      
        
          public
        
         String sayHello(String name) {
      
        
          return
        
        
          "["
        
         + name + 
        
          "] say hello!"
        
        ;
      
            }
      
        }
      

就一個sayHello方法,接收一個參數。

三、Flex客戶端程序

1、創建一個Flex工程,在選擇服務器技術的時候,你需要選擇J2EE。然后勾上使用J2EE技術,然后選擇BlazeDS。點擊Next下一步

BlazeDS 整合 Flex HelloWorld 示例_第4張圖片

2、配置根文件夾,也就是JavaEE服務器端發布程序在tomcat中的位置。我這里是在tomcat的webapps的BlazeDSServer中,BlazeDSServer是我的服務器端程序。根URL是訪問服務器端程序的url;上下文目錄對應工程名稱;最后就是輸出文件夾目錄,這個是Flex的文件最后在tomcat中保存的目錄。

clip_image010

3、最后你需要設置服務器端的services-config.xml的路徑到編譯參數中,這個很重要!如果你不設置的話,那么你在后面用RemoteObject調用BlazeDS的時候,就需要設置endpoint。設置如下:

clip_image012

-services是參數鍵,后面的字符串是值。我這里是設置BlazeDSServer發布到tomcat目錄中的services-config.xml的路徑。

4、編譯Flex前端代碼,代碼如下:

        
          <?
        
        
          xml
        
        
          version
        
        
          ="1.0"
        
        
          encoding
        
        
          ="utf-8"
        
        ?
        
          >
        
      
        
          <
        
        
          mx:Application
        
        
          xmlns:mx
        
        
          ="http://www.adobe.com/2006/mxml"
        
        
          viewSourceURL
        
        
          ="BlazeDSHelloWorld.mxml"
        
        
          layout
        
        
          ="absolute"
        
        
          minWidth
        
        
          ="955"
        
        
          minHeight
        
        
          ="600"
        
        
          >
        
      
        
          <
        
        
          mx:Script
        
        
          >
        
      
        
          <!
        
        [CDATA[
      
                    import mx.controls.Alert;
      
                    import mx.rpc.AsyncToken;
      
                    import mx.rpc.events.ResultEvent;
      
      
                    private function faultHandler(event: Event): void {
      
                        Alert.show(event.toString(), event.type);
      
                    }
      
      
                    private function resultHandler(event: ResultEvent): void {
      
                        //event.result是服務器端返回對象
      
                        result.text = "Message:" + event.result.toString();
      
                    }
      
      
                    private function sendHandler(): void {
      
                        helloRemoteObject.sayHello(userName.text);
      
                    }        
      
                ]]
        
          >
        
      
        
          </
        
        
          mx:Script
        
        
          >
        
      
      
        
          <!-- 當工程沒有設置編譯器-service參數 或是-context-root等參數,就需要手動設置endpoint參數 -->
        
      
        
          <
        
        
          mx:RemoteObject
        
      
        
          id
        
        
          ="helloRemoteObject"
        
      
        
          destination
        
        
          ="helloWorld"
        
      
        
          fault
        
        
          ="faultHandler(event)"
        
      
        
          result
        
        
          ="resultHandler(event)"
        
      
        
          showBusyCursor
        
        
          ="true"
        
        
          />
        
      
        
          <
        
        
          mx:Panel
        
        
          x
        
        
          ="10"
        
        
          y
        
        
          ="10"
        
        
          width
        
        
          ="272"
        
        
          height
        
        
          ="148"
        
        
          layout
        
        
          ="absolute"
        
        
          title
        
        
          ="BlazeDS Remote HelloWorld Sample"
        
        
          >
        
      
        
          <
        
        
          mx:Label
        
        
          x
        
        
          ="10"
        
        
          y
        
        
          ="22"
        
        
          text
        
        
          ="請輸入名稱"
        
        
          />
        
      
        
          <
        
        
          mx:TextInput
        
        
          x
        
        
          ="70"
        
        
          y
        
        
          ="19"
        
        
          id
        
        
          ="userName"
        
        
          />
        
      
        
          <
        
        
          mx:Button
        
        
          x
        
        
          ="184"
        
        
          y
        
        
          ="45"
        
        
          label
        
        
          ="發送"
        
        
          click
        
        
          ="sendHandler()"
        
        
          />
        
      
        
          <
        
        
          mx:Text
        
        
          x
        
        
          ="10"
        
        
          y
        
        
          ="79"
        
        
          id
        
        
          ="result"
        
        
          />
        
      
        
          </
        
        
          mx:Panel
        
        
          >
        
      
        
          </
        
        
          mx:Application
        
        
          >
        
      

首先你需要將Java服務器端的HelloWorld程序配置在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
        
        
          >
        
        com.hoo.flex.HelloWorld
        
          </
        
        
          source
        
        
          >
        
      
        
          </
        
        
          properties
        
        
          >
        
      
        
          </
        
        
          destination
        
        
          >
        
      
        
          </
        
        
          service
        
        
          >
        
      

上面mxml代碼中的RemoteObject的destination對應的就是remoting-config.xml配置文件中的destination的id。這個是一一對應的,然后在sendHandler方法中,helloRemoteObject對應的就是RemoteObject的id,而sayHello方法對應的就是配置在remoting-config.xml中的destination的source的Java服務器端代碼的公有方法。添加完配置后,需要重啟tomcat。

運行上面的flex程序后,如果輸入參數后,點擊發送,可以看到服務器端返回的消息就說明BlazeDS整合Flex成功了。

BlazeDS 整合 Flex HelloWorld 示例


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 性欧美video视频另类 | 妖精视频永久在线入口 | 亚洲精品香蕉一区二区在线观看 | 亚洲精品美女久久久久 | 欧美在线成人午夜网站 | 久久国产精品99久久久久久老狼 | 免费国产精成人品 | 精品香蕉99久久久久网站 | 亚洲第一黄色网址 | 久久午夜国产片 | 久久er热这里只有精品免费 | 久久精品站 | 奇米影| 国产短视频精品区第一页 | 欧美日韩成人 | 国产日产欧美精品 | 亚洲精品天堂自在久久77 | 成人免费黄色小视频 | 亚洲欧美一区二区三区在饯 | 亚洲色中文字幕在线播放 | a级片网址 | 亚洲乱码中文字幕综合 | 婷婷综合久久中文字幕 | 91久久老司机福利精品网 | 91亚洲精品国产自在现线 | 亚洲午夜在线观看 | 99视频全部看免费观 | 天天操天天操 | 中文字幕在线欧美 | 四月婷婷七月婷婷综合 | 国产精品麻豆一区二区 | 黄色毛片小视频 | 精品国产精品国产偷麻豆 | 国产香蕉在线观看 | 97av麻豆蜜桃一区二区 | 亚洲在线h | 亚洲精品免费在线视频 | 色综合久久九月婷婷色综合 | 米奇精品一区二区三区在线观看 | 狠狠躁日日躁人人爽 | 国产精品久久久久久久久久日本 |