Flex通过request与后台进行通信

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
  
   /**
    * 按钮事件
    */
   public function btnSub_click(event:Event):void{
    //声明一个URLRequest
    var _request:URLRequest = new URLRequest();
    //声明请求的url
    _request.url = "http://localhost:8080/xsmcloud/ServiceQueryServlet";
    //声明请求的方法
    _request.method = URLRequestMethod.POST;
    //参数
    var _values:URLVariables = new URLVariables();   
    _values.name = encodeURI(txtInput.text);
    //关联到request
    _request.data = _values;
    //声明loader
    var _urlLoader:URLLoader = new URLLoader();
    //
    _urlLoader.addEventListener(Event.COMPLETE,requestLoaderHandler);
    //
    _urlLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
    //发送请求
    _urlLoader.load(_request);
   }
   
   /**
    * 请求完成的监听
    */
   public function requestLoaderHandler(event:Event):void{
    //移除这个监听
    URLLoader(event.target).removeEventListener(Event.COMPLETE,requestLoaderHandler);
    //
    var _obj:String = URLLoader(event.target).data;
    txtMes.text = _obj;
   }
   
   /**
    * io异常的监听
    */
   public function ioErrorHandler(event:IOErrorEvent):void{
    //移除这个监听
    URLLoader(event.target).removeEventListener(Event.COMPLETE,requestLoaderHandler);
    Alert.show(event.text);
   }
   
  ]]>
 </mx:Script>
 
 <mx:VBox width="100%" height="100%">
  <mx:TextInput id="txtInput" />
  <mx:Button id="btnSub" label="提交" click="btnSub_click(event)"/>
  <mx:TextArea id="txtMes"  width="395" height="245"/>
 </mx:VBox>
</mx:Canvas>
要在web.xml中对后台相应的处理的servlet类进行注册,如
    <servlet>
     <servlet-name>ServiceQueryServlet</servlet-name>
     <servlet-class>org.loushang.live.contact.openservice.cmd.ServiceQueryServlet</servlet-class>
    </servlet>

    <servlet-mapping>
     <servlet-name>ServiceQueryServlet</servlet-name>
     <url-pattern>/ServiceQueryServlet</url-pattern>
    </servlet-mapping>
 通过request使前台Flex和后台java进行通信的流程是:前台发送过request后,到web.xml中与相应的servelt的url-pattern进行匹配,找到相应的servelt-name,并根据名字找到相应的servelt-class,即该类的路径。

你可能感兴趣的:(Flex通过request与后台进行通信)