`
wgcode
  • 浏览: 577798 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用HttpService实现简单as3通讯

阅读更多

as3 code:  HttpService.as

package  
{  
    import flash.display.Sprite;  
    import flash.events.Event;  
    import flash.events.HTTPStatusEvent;  
    import flash.events.IOErrorEvent;  
    import flash.events.MouseEvent;  
    import flash.events.ProgressEvent;  
    import flash.events.SecurityErrorEvent;  
    import flash.net.URLLoader;  
    import flash.net.URLLoaderDataFormat;  
    import flash.net.URLRequest;  
    import flash.net.URLRequestMethod;  
    import flash.net.URLVariables;  
    import flash.net.navigateToURL;  
    import flash.text.TextField;  
    import flash.text.TextFieldType;  
      
    public class HttpService extends Sprite  
    {      
        public function HttpService()  
        {  
            init();  
            reuqestServer();  
        }  
          
        //服务端的http地址字符串  
        private var urlStr:String = "http://127.0.0.1:8080/webSange/TestHttpService.jsp";  
        private var _y:Number = 20;  
          
        private function init():void  
        {  
            //画一个圆 颜色为黑色  
            var sprite:Sprite = new Sprite();  
            sprite.graphics.beginFill(0X000000);  
            sprite.graphics.drawCircle(300,100,20);  
            sprite.graphics.endFill();  
            sprite.addEventListener(MouseEvent.CLICK, clickHandler);  
            sprite.buttonMode = true;  
            this.addChild(sprite);  
        }  
          
        //点击圆点将   go to jsp  发送到TestHttpService.jsp,然后显示出来  
        private function clickHandler(e:Event):void  
        {  
            var name:String = "go to jsp";  
            var url:String = urlStr + "?name="+ name;  
            navigateToURL(new URLRequest(url));  
        }  
          
        //请求服务端  
        private function reuqestServer():void  
        {  
            //创建URLLoader对象  
            var urlLoader:URLLoader = new URLLoader();                  
            //设置接收数据方式(文本、原始二进制数据、URL 编码变量);  
            urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;  
            //设置传递参数  
            var urlVars:URLVariables = new URLVariables();  
            urlVars.name = "go 去服务端";  
            //建立Request访问对象  
            var urlRequest:URLRequest = new URLRequest(urlStr);  
            //设置参数  
            urlRequest.data = urlVars;  
            //设置访问模式(POST,GET)  
            urlRequest.method = URLRequestMethod.POST;  
              
            try  
            {  
                urlLoader.load(urlRequest);  
            }  
            catch(error:Error)  
            {  
                trace(error)  
            }  
              
            //加载完成  
            urlLoader.addEventListener(Event.COMPLETE, urlLoaderCompleteHandler);  
            //开始访问  
            urlLoader.addEventListener(Event.OPEN, urlLoaderOpenHandler);  
            //加载进度  
            urlLoader.addEventListener(ProgressEvent.PROGRESS, urlLoaderProgressHandler);  
            //跨域访问安全策略  
            urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, urlLoaderSecurityErrorHandler);  
            //Http状态事件  
            urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, urlLoaderHttpStatusHandler);      
            //访问出错事件  
            urlLoader.addEventListener(IOErrorEvent.IO_ERROR, urlLoaderIoErrorHandler);          
        }  
          
          
        private function urlLoaderCompleteHandler(e:Event):void  
        {              
            var txt:TextField = new TextField();  
            txt.wordWrap = true;  
            txt.width = 300;  
            txt.type = TextFieldType.DYNAMIC;  
            txt.text = "数据请求完成,返回数据为:" + e.target.data.success;  
            txt.y = 40;  
            txt.multiline = true;  
            this.addChild(txt);  
        }  
          
        private function urlLoaderOpenHandler(e:Event):void  
        {  
            var txt:TextField = new TextField();              
            txt.text = "连接已经打开";  
            txt.multiline = true;  
            txt.y = 20;  
            this.addChild(txt);  
        }  
          
        private function urlLoaderProgressHandler(e:ProgressEvent):void  
        {  
            var num:uint = (e.bytesLoaded / e.bytesTotal) * 100;  
            var txt:TextField = new TextField();  
            txt.text = num + "%";  
            txt.y = 0;  
            this.addChild(txt);              
        }  
          
        private function urlLoaderSecurityErrorHandler(e:SecurityErrorEvent):void  
        {  
            trace(e);  
        }  
          
        private function urlLoaderHttpStatusHandler(e:HTTPStatusEvent):void  
        {  
            trace(e);  
        }  
          
        private function urlLoaderIoErrorHandler(e:IOErrorEvent):void  
        {  
            trace(e);  
        }  
    }  
}  

 java code: TestHttpService.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
<%  
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
%>  
<%  
    request.setCharacterEncoding("utf-8");  
    String username=request.getParameter("name");  
    username += " 去客户端";  
    out.clear();  
     out.print("success="+ username );  
     System.out.print(username);  
%>  
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics