偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flex前端與Java服務(wù)端交互,反射機(jī)制挑大旗

開(kāi)發(fā) 后端
Flex作為RIA的一支,提供了非常豐富多彩的客戶端實(shí)現(xiàn),并且編寫(xiě)起來(lái)非常靈活.Java提供了強(qiáng)大的功能實(shí)現(xiàn),與Flex結(jié)合也讓Java開(kāi)發(fā)穿上了華麗外衣。

Flex作為RIA的一支,提供了非常豐富多彩的客戶端實(shí)現(xiàn),并且編寫(xiě)起來(lái)非常靈活.Java提供了強(qiáng)大的功能實(shí)現(xiàn),與Flex結(jié)合也讓Java開(kāi)發(fā)穿上了華麗外衣.

BlazeDS 是LCDS的一個(gè)衍生版 ,為Flex和Java的交互提供通信橋梁 .BlazeDS起到的作用并沒(méi)有多么難理解,和SSH框架內(nèi)部機(jī)制類似的是,都是提供了一種反射服務(wù).比如,在Spring中我們使用IoC特性,這些都是依靠的Java底層的反射機(jī)制.

簡(jiǎn)單說(shuō)Flex / BlazeDS /Java ,三者之間,BlazeDS提供一種映射,使得Flex前端編碼能夠使用服務(wù)端的Java類.

remoting-config.xml文件:

  1. <span style="font-family:Comic Sans MS;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?> 
  2.  
  3. <service id="remoting-service"  
  4.  
  5.     class="flex.messaging.services.RemotingService"> 
  6.  
  7.   
  8.  
  9.     <adapters> 
  10.  
  11. <!--Java對(duì)象 的適配器--> 
  12.  
  13.         <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/> 
  14.  
  15.     </adapters> 
  16.  
  17.   
  18.  
  19.     <default-channels> 
  20.  
  21.         <channel ref="my-amf"/> 
  22.  
  23.     </default-channels> 
  24.  
  25.      
  26.  
  27.     <destination id="userService"> 
  28.  
  29.             <properties> 
  30.  
  31.                     <source>com.java.Service.UserService</source> 
  32.  
  33.             </properties> 
  34.  
  35.     </destination> 
  36.  
  37.   
  38.  
  39. </service> 
  40.  
  41. </span> 

在Flex前端,通過(guò)使用Flex提供的RemoteObject關(guān)鍵字,來(lái)獲取映射中的Java對(duì)象,(關(guān)于Flex內(nèi)部的一些有意思的機(jī)制,還是要好好細(xì)心學(xué)習(xí)的,這方面了解不多,就不賣弄了.)

  1. <span style="font-family:Comic Sans MS;font-size:18px;"><fx:Declarations> 
  2.  
  3. <mx:RemoteObject destination="userService" result="processResult(event)" 
  4.  
  5.  id="us" fault="Alert.show(event.fault.message.toString())" 
  6.  
  7.  endpoint="http://localhost:8080/BlazeDS_Java_Flex/messagebroker/amf"> 
  8.  
  9. </mx:RemoteObject> 
  10.  
  11. </fx:Declarations> 
  12.  
  13. </span> 

現(xiàn)在,我們的Flex前端就已經(jīng)能夠調(diào)用服務(wù)端的Java方法了.

在最初接觸Flex與Java交互時(shí),都是需要做一個(gè)傳參示例.主要是傳自定義類型參數(shù)(user:Users)和普通數(shù)據(jù)類型參數(shù)(str:String).

這里,大家要注意,我們自定義類型(Java類) ,要在Flex端進(jìn)行OO編程,需要拆箱裝箱,那么就需要Flex端能夠識(shí)別Java類,這里就要提到Flex內(nèi)部的一種映射機(jī)制.

創(chuàng)建一個(gè)ActionScript類,如下

  1. <span style="font-family:Comic Sans MS;font-size:18px;">package com.flex.vo 
  2.     [Bindable] 
  3.     [RemoteClass(alias="com.java.entity.Users")] 
  4.     public class Users 
  5.     { 
  6.                //注意,需要寫(xiě)好構(gòu)造函數(shù) 
  7.         public function Users() 
  8.         { 
  9.         } 
  10.          
  11.         private var _name:String; 
  12.         private var _password:String; 
  13.          
  14.         public function get name():String 
  15.         { 
  16.             return _name; 
  17.         } 
  18.  
  19.         public function set name(value:String):void 
  20.         { 
  21.             _name = value; 
  22.         } 
  23.  
  24.         public function get password():String 
  25.         { 
  26.             return _password; 
  27.         } 
  28.  
  29.         public function set password(value:String):void 
  30.         { 
  31.             _password = value; 
  32.         } 
  33.  
  34.     } 
  35.  
  36. }</span> 

這樣經(jīng)過(guò)Flex的內(nèi)部映射,在Java端和Flex端,我們有了對(duì)應(yīng)的一個(gè)實(shí)體類Users類,那么我們就可以O(shè)O編程,在Flex前端,使用AS的實(shí)體類進(jìn)行裝箱,然后做參傳遞給Java類,這樣就能夠完成了二者之間的自定義數(shù)據(jù)類型參數(shù)的傳遞.

框架應(yīng)用都是浮云,底層提供的反射機(jī)制是王道啊.

不管你信不信,反正我是信了.

原文鏈接:http://blog.csdn.net/lfsfxy9/article/details/6692854

【編輯推薦】

  1. Java 8整裝待發(fā) 圖謀云計(jì)算
  2. Java 7是蜜糖還是毒藥?
  3. 選用Ibatis和Hibernate的區(qū)別
  4. JRuby和Java 7 我們可以期待什么

 

 

 

 

 

 

 

 

責(zé)任編輯:艾婧 來(lái)源: lfsfxy9的博客
相關(guān)推薦

2021-05-25 08:20:37

編程技能開(kāi)發(fā)

2011-08-17 09:27:55

FlexJava

2009-07-06 10:41:38

flex與servle

2010-08-10 17:01:48

FlexJavaScript

2021-03-04 11:37:13

Python服務(wù)端urllib

2010-07-30 12:56:02

Flex調(diào)用JavaS

2009-08-21 16:14:52

服務(wù)端與客戶端通信

2011-09-09 09:44:23

WCF

2009-08-21 15:59:22

服務(wù)端與客戶端通信

2016-03-18 09:04:42

swift服務(wù)端

2021-10-21 08:21:10

Java Reflect Java 基礎(chǔ)

2011-06-07 16:01:46

Android 服務(wù)器 數(shù)據(jù)交互

2009-08-21 15:36:41

服務(wù)端與客戶端

2009-08-21 15:54:40

服務(wù)端與客戶端

2010-03-19 18:17:17

Java Server

2010-03-18 18:09:36

Java Socket

2012-04-05 13:50:38

Java

2022-02-18 11:13:53

監(jiān)控架構(gòu)系統(tǒng)

2012-03-02 10:38:33

MySQL

2013-03-25 10:08:44

PHPWeb
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)