這一次,改用flex來做一個遠程與jsp訪問,並返回xml資料值 下面是一個封裝好的類,繼承了HttpService類
package Config<br />{<br /> import flash.events.*;<br /> import flash.net.*;</p><p> import mx.rpc.events.FaultEvent;<br /> import mx.rpc.events.ResultEvent;<br /> import mx.rpc.http.HTTPService;<br /> public class Connect2 extends HTTPService<br /> {<br /> private static var connect:Connect2=null; </p><p> //串連的網址<br /> public static var myurl:String="http://localhost:8080/flash/receive.jsp"; </p><p> public function Connect2()<br /> {<br /> this.method="POST";<br /> this.useProxy=false; //不啟動代理服務<br /> this.resultFormat="xml";//設定返回資料的格式為xml<br /> } </p><p> public static function getconnect():Connect2<br /> {<br /> if (connect == null)<br /> {<br /> connect=new Connect2();<br /> }<br /> return connect;<br /> }<br /> public function sendMessage(para:URLVariables,myurl:String):void<br /> { //設定發送資料的變數<br /> this.url=myurl;//指定發送的jsp頁面<br /> this.send(para);//發送資料<br /> }<br /> }<br />}<br />
第二:jsp輸出值
out.println(“你要返回的值”);通過flex來讀取
<%<br /> response.setContentType("text/xml");<br /> String myname=request.getParameter("userName");<br /> String pwd=request.getParameter("userPwd");</p><p>out.println("<?xml version=/"1.0/" encoding=/"utf-8/"?>");<br />out.println("<userinfo><ss>"+myname+"</ss><ss>"+pwd+"</ss></userinfo>");</p><p>%></p><p>
這裡是一個返回xml的資料
然後寫一個用戶端在flex裡面。讓其讀取資料返回的資料。
<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"><br /><mx:Script><br /><!--[CDATA[<br />import mx.effects.IAbstractEffect;<br />import mx.rpc.events.FaultEvent;<br />import mx.rpc.events.ResultEvent;<br />import Config.Connect2;</p><p>private var con:Connect2;</p><p>private function init():void<br />{<br /> con=Connect2.getconnect();//連結網路</p><p>}<br />private function senddata():void<br />{<br />if(userName.text!="" && userPwd.text!="")<br />{<br /> var para:URLVariables=new URLVariables();<br /> para.userName=userName.text;<br /> para.userPwd=userPwd.text;<br /> con.sendMessage(para,Connect2.myurl);//發送資料<br /> con.addEventListener(ResultEvent.RESULT,resulthander);//監聽返回結果<br /> con.addEventListener(FaultEvent.FAULT,faulthander);//監聽錯誤結果<br />}<br />}</p><p>private function resulthander(event:ResultEvent):void<br />{ trace("d");</p><p> var myxml:XML=XML(event.result);<br /> trace(myxml);//輸出xml格式<br /> trace(myxml.child("ss").children()[0]);</p><p>}</p><p>private function faulthander(event:FaultEvent):void<br />{ trace("cuowu");</p><p>}</p><p>]]--><br /></mx:Script><br /><mx:Panel width="303" height="209" layout="absolute" x="216" y="113"><br /><mx:Button click="senddata()" label="Send" labelPlacement="left" x="208" y="113"/><br /><mx:TextInput id="userName" x="66" y="24" width="196"/><br /><mx:TextInput id="userPwd" x="66" y="67" width="196"/><br /><mx:Label x="14" y="26" text="Name"/><br /><mx:Label x="10" y="69" text="Password"/><br /></mx:Panel><br /></mx:Application><br />
輸出結果預覽:
<userinfo>
<ss>s</ss>
<ss>s</ss>
</userinfo>
s