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

Flex 与java通信的三种方式

发布时间:2020-12-15 04:25:16 所属栏目:百科 来源:网络整理
导读:最近由于工作需要开始看Flex的书籍,下面讲讲Flex作为UI然后后台使用Java作为服务器的三种方式, (1)安装JDK,Tomcat,MyEclipse (2)安装Flex Builder (3)在MyEclipse中新建一个Java Web工程,这个工程可以使用SSH架构 (4)代开Flex Builder新建一个Web

最近由于工作需要开始看Flex的书籍,下面讲讲Flex作为UI然后后台使用Java作为服务器的三种方式,

(1)安装JDK,Tomcat,MyEclipse

(2)安装Flex Builder

(3)在MyEclipse中新建一个Java Web工程,这个工程可以使用SSH架构

(4)代开Flex Builder新建一个Web工程,注意在选择地下的服务器的时候,我们选择”J2EE“服务器,然后选择打出文件的包,导出到原先建的那个java Web工程目录下,这样Flex和Java的工程就搭建好了,下面介绍如何通信


1.使用remoteObject来通信,这种通信适合于Flex和Java之间有很大的数据交互,首先我们需要下载BlazeDS,然后将解压的文件放到WEB-INF文件夹覆盖Java Web工程下的WEB-INF文件夹

(1)新建一个Java类 FlexToJava

public class FlexToJava{

public String pritStr(String felxParam){

return "I am Java Server,Flex Input parameters is"+flexParam ;

}

}

(2)在WEB-INF文件夹的remoting-config.xml文件添加

<destination id="javaObject">
??????? <properties>
??????????? <source>com.test.FlexToJava</source> <!--这个类得路径-->

??????? </properties>
??? </destination>

(3)在Flexbuilder中新建一个application

<?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">????

?????
??? <fx:Script>????
??????? <![CDATA[????
??????????? import mx.controls.Alert;????
??????????? import mx.rpc.events.ResultEvent;????
?????????????
??????????? protected function myFlex_resultHandler(event:ResultEvent):void{????
??????????????? var name:String=event.result as String;????
??????????????? Alert.show(name);????
??????????? }????
??????????? protected function button1_clickHandler(event:MouseEvent):void???
??????????? {??????
??????????????? flexObject.pritStr(txtName.text);????
??????? ]]>????
??? </fx:Script>????
??? <fx:Declarations>????
??????? <!-- 将非可视元素(例如服务、值对象)放在此处 -->????
??????? <s:RemoteObject id="flexObject" destination="javaOvject" result="myFlex_resultHandler(event)"/>????
??? </fx:Declarations>????
??? <s:Button x="209" y="135" label="按钮" click="button1_clickHandler(event)"/>????
??? <s:TextInput x="166" y="81" id="txtName"/>????
??? <s:Label x="10" y="81" text="请输入内容:" fontSize="15" fontWeight="bold" fontFamily="中易黑体"/>????
</s:Application> ??


2.使用HTTPService使得Flex和Java进行通信

(1)首先我在Java端写一个Servlet

public class JavaServlet extends HttpServlet{

public void doPost(requst,response){

response.getWriter.print("I am Java Server") ;

}

public void doGet(request,serif; font-size:14px; line-height:28px">doPost(request,response) ;

}

(2)在Web.xml中配置Servlet的访问路径,比如说是/java_servlet

(3)在Flex中新建一个application

<!--flex 与java交互-->

????????<s:HTTPService?id="service"?fault="service_faultHandler(event)"?result="service_resultHandler(event)"?url="http://localhost:8080/flexdemo/java_servlet">

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

????????
</s:HTTPService>

result:是处理返回的函数,faul: 是处理出错的函数。

3.Flex与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:operations:WebService>

(编辑:李大同)

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

    推荐文章
      热点阅读