加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex与后台(Java)交互

发布时间:2020-12-15 04:22:07 所属栏目:百科 来源:网络整理
导读:?软件环境:windows7+flex4+myeclipse8.5+blazeds ????????功能描述:分别用代码实现了三种flex4与Java通信 ????????三种方式: ???????????????????????1?flex 与普通java类通信RemoteObject ???????????????????????2 flex 与服务器交互HTTPService ?????????
?软件环境:windows7+flex4+myeclipse8.5+blazeds
????????功能描述:分别用代码实现了三种flex4与Java通信
????????三种方式:
???????????????????????1?flex 与普通java类通信RemoteObject
???????????????????????2 flex 与服务器交互HTTPService
???????????????????????3 flex与webservice交互WebService
????????1?flex 与普通java类通信RemoteObject
???????普通Java类:????????

package ?com.flex.demo;


/**

?*?功能描述:该类用来实现flex与普通java类中的方法通信

?*?
@author?Administrator

?*

?
*/

public ? class ?SimpleService? {


????public?String?sayHello(String?name){

????????return?"Hello,?"+name;

????}

}

????????配置说明:配置remoting-config.xml
< destination? id ="myservice" >

????????
properties >

????????????
source > com.flex.demo.SimpleService </ >

????
destination >
????????调用
<!-- flex?与普通java类通信 -->

????????
s:RemoteObject? ="serv" ?destination ="myservice" ?fault ="serv_faultHandler(event)" ?result ="serv_resultHandler(event)" >

????????????

????????
s:RemoteObject ????????2flex 与服务器交互HTTPService
????????servlet代码????????
package ?com.flex.demo;


import ?java.io.IOException;


import ?javax.servlet.ServletException;

import ?javax.servlet.http.HttpServlet;

import ?javax.servlet.http.HttpServletRequest;

import ?javax.servlet.http.HttpServletResponse;



?*?功能描述:该servlet用来与flex进行交互

?*?
*/

@SuppressWarnings(
" serial " )

class ?SimpleServiceServlet? extends ?HttpServlet? {

????

????@Override

????protected?void?service(HttpServletRequest?request,?HttpServletResponse?response)

????????????throws?ServletException,?IOException?{

????????request.setCharacterEncoding("utf-8");

????????response.setCharacterEncoding("utf-8");

????????response.getWriter().write("我是服务器");

????}

}

?flex?与服务器交互 s:HTTPService? ="service" ="service_faultHandler(event)" ="service_resultHandler(event)" ?url ="http://localhost:8080/flexdemo/simpleServiceServlet" s:HTTPService ????????3flex与webservice交互WebService
flex与webservice交互这里调用一个天气预报的webservice s:WebService? ="ws" ?

??????????????????????wsdl
="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" ?

??????????????????????fault
="ws_faultHandler(event)" ?

??????????????????????result
="ws_resultHandler(event)" ?

??????????????????????showBusyCursor
="true" ?第二种调用webservice的方法<s:operation> -->

????????????
?<s:operation?name="getWeatherbyCityName">?webservice中的方法名 s:operation? name ="getWeatherbyCityName" >

????????????????
传递的参数 -->

????????????????
s:request >

????????????????????
参数名称必须与webservice中定义的参数名一致否则调用不成功报错 -->

????????????????????
theCityName >

????????????????????????{city.text}

????????????????????
s:operation s:WebService ????????三种方式完整的配置例子
<? 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/mx" ?minWidth ="955" ?minHeight ="600"

???????????????creationComplete
="service.send()"

???????????????
fx:Script <![CDATA[

????????????import?mx.controls.Alert;

????????????import?mx.rpc.events.FaultEvent;

????????????import?mx.rpc.events.ResultEvent;


????????????//错误处理函数

????????????protected?function?serv_faultHandler(event:FaultEvent):void

????????????{

????????????????Alert.show("调用失败了:"+event.fault.message?as?String,"提示");

????????????}


????????????//成功调用函数

????????????protected?function?serv_resultHandler(event:ResultEvent):void

????????????{

????????????????Alert.show("调用成功了:"+event.result?as?String,"提示");

????????????}



????????????protected?function?service_faultHandler(event:FaultEvent):void

????????????{

????????????????Alert.show("调用失败了:"+event.fault.message?as?String,"提示");

????????????}



????????????protected?function?service_resultHandler(event:ResultEvent):void

????????????{

????????????????Alert.show("调用成功了:"+event.result?as?String,"提示");

????????????}



????????????protected?function?ws_faultHandler(event:FaultEvent):void

????????????{

????????????????Alert.show("调用失败了:"+event.fault.message?as?String,"提示");

????????????}

????????????

????????????//调用成功了

????????????protected?function?ws_resultHandler(event:ResultEvent):void

????????????{

????????????????trace(event.result);

????????????????lbl.text=(String)(event.result);

????????????}


????????????//第一种调用webservice的方法

????????????//此方法调用webservice

????????????protected?function?btn_clickHandler(event:MouseEvent):void

????????????{

????????????????//ws.getWeatherbyCityName(city.text);

????????????????//第二中调用webservice的方法

????????????????ws.getWeatherbyCityName.send();

????????????}


????????????

????????????

????????
]]>

????
fx:Declarations ?将非可视元素(例如服务、值对象)放在此处? -->

????????

????????
>

????????

????????
>

????????

????????

????
s:TextInput? x ="488" ?y ="72" ?id ="city" />

????
s:Button? ="633" ?label ="查看" ="btn" ?click ="btn_clickHandler(event)" s:Label? ="224" ="128" ="lbl" ?width ="820" ?height ="376" />

s:Application >

????????初次接触flex的朋友,看上面的肯定很迷惑,因此这里录制了视频教程,视频的质量是蛮好的,该视频从头至尾演示了flex4整合Java的过程.为了方便在windows平台下播放,该视频默认导出格式为exe,在此说明该文件并非病毒,实乃视频文件,大家可放心观看. 点我下载flex4与Java交互演示视频
????????视频截图:

?


???????? 点我下载完整的项目文件

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读