说明:这里介绍使用URLRequest+URLLoader与java服务端servlet通信.
URLRequest 类
URLRequest 类可捕获单个 HTTP 请求中的所有信息。
URLVariables 类
使用 URLVariables 类可以在应用程序和服务器之间传输变量。
URLRequestMethod 类
该类只有两个静 态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader 类
真正与服务端打 交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest(
);
//指定 rquest地址
request.url=" 指定rquest地址";
//默认为 URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参 数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
事件及返回值的处理
loader.addEventListener( // 给loader对象 添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
{
// 服务端返回的数据是保存在loader的data里,通过以下语句可以得到
trace(URLLoader(e.target).data );//在监听器里处理服务端返回的数据
//complete
// process the data;
}
);
loader.addEventListener( //IOError 监听器
IOErrorEvent.IO_ERROR,
//临时监听器,IO错误的处理在该函数中处理
function(e: IOErrorEvent): void {/* process the err;*/}
);
loader.load(request);// 把request对象发送到服务端.当请求完成,则会自动触发COMPLETE事件
下面给出一个实例:
xml代码: flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 序列化以方便使用 txtName.text = o.name; txtAge.text = o.age; txtAddress.text = o.address; //labMsg.alpha = 0; } ]]--> Java代码: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); // 获取URLResuest请求回的参数 返回数据用;分隔以方便Flex对数据进行序列化 String rs = new String("name=" + request.getParameter("name") + ";age=" + request.getParameter("age") + ";address=" + request.getParameter("address")); response.setContentType("text/plain"); System.out.println(rs); response.getWriter().write(rs); } OK,运行应用程序,you can see:
后台:
URLRequest 类
URLRequest 类可捕获单个 HTTP 请求中的所有信息。
URLVariables 类
使用 URLVariables 类可以在应用程序和服务器之间传输变量。
URLRequestMethod 类
该类只有两个静 态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader 类
真正与服务端打 交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest(
);
//指定 rquest地址
request.url=" 指定rquest地址";
//默认为 URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参 数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
事件及返回值的处理
loader.addEventListener( // 给loader对象 添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
{
// 服务端返回的数据是保存在loader的data里,通过以下语句可以得到
trace(URLLoader(e.target).data );//在监听器里处理服务端返回的数据
//complete
// process the data;
}
);
loader.addEventListener( //IOError 监听器
IOErrorEvent.IO_ERROR,
//临时监听器,IO错误的处理在该函数中处理
function(e: IOErrorEvent): void {/* process the err;*/}
);
loader.load(request);// 把request对象发送到服务端.当请求完成,则会自动触发COMPLETE事件
下面给出一个实例:
xml代码: flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 序列化以方便使用 txtName.text = o.name; txtAge.text = o.age; txtAddress.text = o.address; //labMsg.alpha = 0; } ]]--> Java代码: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); // 获取URLResuest请求回的参数 返回数据用;分隔以方便Flex对数据进行序列化 String rs = new String("name=" + request.getParameter("name") + ";age=" + request.getParameter("age") + ";address=" + request.getParameter("address")); response.setContentType("text/plain"); System.out.println(rs); response.getWriter().write(rs); } OK,运行应用程序,you can see:
后台: