利用BlazeDS,使Java与flex进行通信
??
?
public class LoginService {public String login(String username,String password) {if("admin".equals(username) && "admin".equals(password))return "success";return "fail";}}
??
<?xml version="1.0" encoding="UTF-8"?><service id="remoting-service" default="true"/> </adapters> <default-channels> <channel ref="my-amf"/> </default-channels> <destination id="loginService"><!-- 定义一个目标,供后面flex remoting时用到 --> <properties> <source>LoginService</source><!-- 指向LoginService类 --> </properties></destination></service>
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo"><fx:Declarations><s:RemoteObject id="loginServiceRObj" destination="loginService"endpoint="http://localhost:8080/j2ee_flex/messagebroker/amf"result="resultHandler(event)" fault="faultHandler(event)" /></fx:Declarations><fx:Script><![CDATA[import mx.rpc.events.ResultEvent;import mx.rpc.events.FaultEvent;import mx.controls.Alert;//remoting success,return the remoting message//but the message may login success or login failprivate function resultHandler(event:ResultEvent):void{Alert.show(event.result.toString(),"Info");}//remoting errorprivate function faultHandler(event:FaultEvent):void{Alert.show(event.fault.toString(),"Error");}private function loginHandler():void{loginServiceRObj.login(username.text,password.text);}]]></fx:Script><s:VGroup><mx:Form><mx:FormItem label="username"><s:TextInput id="username" /></mx:FormItem><mx:FormItem label="password"><s:TextInput id="password" /></mx:FormItem><mx:FormItem><s:Button label="login" click="loginHandler()" /> </mx:FormItem></mx:Form></s:VGroup></s:Application>
?
Leisure