`
dqwbm66k
  • 浏览: 12096 次
社区版块
存档分类
最新评论

flex+java整合开发

 
阅读更多

flex+java整合开发
2010年08月16日
  用Flash Builder 4 beta建立连接BlazeDS远程端的Flex应用程序
  配置服务器环境
  第一步,创建被Flex应用程序调用的Java类。本篇文章的应用程序使用了SimpleCustomerService类,这个类的方法被命名为getAllCustomers(),将在Flex应用程序中被调用:
  public class SimpleCustomerService 
  {   
  public ArrayList getAllCustomers()
  {
  ArrayList customers = null;
  //code to create ArrayList containing SimpleCustomer objects
  return customers;
  }
  }
  通过编译/java_src文件夹中的SimpleCustomerService.java和SimpleCustomer.java开始(或者你可以在/java_classes文件夹中提前编译类文件)。
  用类文件创建Web应用,步骤如下:
  1.     如果没有安装Tomcat,现在就请安装Tomcat,到http://tomcat.apache.org/*寻找下载信息和更多的细节。
  2.    在Tomcat安装目录下找到webapps,在Windows操作系统中默认路径是:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps。
  3.    在webapps文件夹下新建文件夹,命名为samplewebapp,用来创建新的Web应用。
  4.    拷贝Java类文件SimpleCustomerService.class和SimpleCustomer.class到webapps/samplewebapp/WEB-INF/classes下面。
  安装BlazeDS
  在你从Flex应用程序调用Java类之前,你必须用BlazeDS显示类作为远程服务终端。要为你的Web应用程序配置BlazeDS,你必须在Web应用源路径中部署BlazeDS JAR文件。安装BlazeDS步骤如下:
  1.     下载最新nightly build of BlazeDS*二进制发布版本,它包含你需要的JAR文件和其他配置文件。如果你使用早期的BlazeDS或者LiveCycle Data Services ES版本,那么你需要执行除上述之外的步骤,在我的博客*中有关于这个话题的详述。
  2.    解压你下载的zip文件,在文件夹中有blazeds.war,它包含配置BlazeDS 所需要的Jar文件和其他配置文件,blazeds-bin-readme.htm包含合同、条件和证书等细节。
  3.    提取blazeds.war的内容到单独命名为blazeds的文件夹中(你可以用WinZip或者类似的工具解压WAR文件中的内容)。
  4.    从blazeds/WEB-INF/lib中拷贝所有的JAR文件到samplewebapp/WEB-INF/lib。
  5.    拷贝blazeds/WEB-INF/flex文件夹到samplewebapp/WEB-INF
  这个文件夹包含BlazeDS配置文件。这个配置文件被用来配置远程、消息和代理服务。
  6.    如果没有你想用的web.xml文件,拷贝blazeds/WEB-INF/web.xml到samplewebapp/WEB-INF
  。
  下面,你需要为BlazeDS Servlet添加 Servlet mapping命名为:MessageBrokerServlet,以便于当你用任一渠道支持向远程、消息或者代理服务发送请求时调用BlazeDS。
  如果你正在使用你自己的web.xml文件,那么就需要添加以下代码,或者你可以从blazeds/WEB-INF/web.xml拷贝这段代码。
  Flex Session attribute and binding listener support -->
  
  flex.messaging.HttpFlexSession
  
  
  
  MessageBrokerServlet
  MessageBrokerServlet
  flex.messaging.MessageBrokerServlet
  
  services.configuration.file
  /WEB-INF/flex/services-config.xml
  
  1
  
  
  MessageBrokerServlet
  /messagebroker/*
  
  Flash Builder 4用RDSDispatchServlet(绑定BlazeDS和LiveCycle Data Services ES2)来获得在Web应用中的服务端细节。如果你正在使用你自己的web.xml文件,那么就需要在你的Web应用中为RDSDisptachServlet添加Servlet mapping,通过拷贝下面的XML片段到节点下的samplewebapp/WEB-INF/web.xml文件中。
  
  RDSDispatchServlet
  RDSDispatchServlet
  flex.rds.server.servlet.FrontEndServl et
  
  useAppserverSecurity
  false
          
  10
  
  
  RDSDispatchServlet     /CFIDE/main/ide.cfm  创建远程目标
  要显示Java 类作为远程目标你需要在节点下的samplewebapp/WEB-INF/flex/remoting-config.xml文件中添加节点,如下面所示。(在/config文件夹中你会找到remoting-config.xml和services-config.xml文件被用于应用程序。)
  
  
  com.adobe.services.SimpleCustomerService
  
  
  当你启动你的Web服务时,BlazeDS将暴露你的Java类作为一个远程终端,将SimpleCustomerServiceDestination作为id。
  开发客户端应用程序
  由于服务器已建立,你该准备用Flash Builder 4 来产生为消耗远程服务目标产生成代码。Flex应用程序将调用你在终端创建的getAllCustomers()
  方法。
  生成可以消耗远程服务终端的ActionScript代码,Flash Builder将向BlazeDS或者Adobe LiveCycle Data Services ES2发送请求以激活你在项目服务器设置中配置的Web应用程序并且检索外端服务器终端的细节。
  以下是创建新的Flex项目的步骤:
  1.     选择文件 > 新建 > Flex 项目。
  图1.设置项目属性
  2.    为项目命名为BlazeDSSample。
  3.    选择Web (Runs In Adobe Flash Player)作为应用类型。
  4.    选择J2EE作为应用服务类型。
  5.    选择Use Remote Object Service,然后再选择BlazeDS(如图1所示)。
  6.    点击Next继续。
  图2.配置服务器设置
  因为你在项目属性窗口中设置服务器的类型是J2EE,Flash Builder将提示你服务器设置。
  7.     配置J2EE服务器,设置Root Folder(根文件夹):你在BlazeDS 中已经配置的Web应用中的根文件夹的路径。
  8.    设置Root URL(根URL)为Web应用的URL的根目录;例如:http://localhost:9191/samplewebapp。
  9.    设置Context Root(上下文根目录):Web应用的上下文根目录;例如:/samplewebapp。
  10.   保留服务器上Output Folder(输出文件夹)的默认值。
  11.点击Validate Configuration(验证配置)以检查服务器配置是否生效,如果没有生效,调整你的设置,再重新试一下。
  12.    当你的配置生效后,点击Finish(完成)新项目的创建。
  创建一个新的服务
  在Flash Builder 4中创建一个新的服务,步骤如下:
  1.     查找Flash Builder 4中Data/Services视图;如果视图没有打开,选择Window > Data/Services。
  2.    点击Connect to Data/Service(链接到数据/服务)(或者choose Data > Connect to Data/Service), Flash Builder 4则显示一列从目前的Flex项目中可以被消耗的服务类型。
  图3.选择服务类型
  3.    在这个例子中,使用BlazeDS服务,所以如图3 所示选择BlazeDS。
  4.    点击Next。
  5.    如果Flash Builder 4提示RDS密码,选择不需要密码然后点击OK。(这个工作因为在web.xml中RDSDispatchServlet的useAppSecurity参数被设置为false。)
  Flash Builder与服务器通信,显示一列外部服务目标列表,如图4 所示。
  图4.有效终端列表
  6.    从列表中选择SimpleCustomerServiceDestination并点击完成,如果你的应用不只一个目标,你可以选择列表中的任一目标,生成你想要的代码。
  Flash Builder 4生成ActionScript类,这个类代表与选择的远程服务目标相关的Java类。在这个例子中,Flash Builder 4产生的类名为SimpleCustomerServiceDestination,它在SimpleCustomerService.java中显示的每个公用方法的参数。在服务器上调用SimpleCustomerService.java方法,你只需调用SimpleCustomerServiceDestination.as中相应的函数。你可以看到服务 (SimpleCustomerServiceDestination.as)和它的操作(代表服务器类的函数)列在Data/Services视图中。你也可以用Package浏览器看到代码。
  如果任何自定义数据类型作为返回类型或者作为Java类方法的参数,Flash Builder 4将生成一个ActionScript类来代表与服务类文件一起的自定义数据类型。在这个例子中,getAllCustomers()返回一个含有 SimpleCustomer对象类型的ArrayList。ArrayList是建立数据类型并在默认下在客户端被转换成ArrayCollection。而SimpleCustomer,不是建立数据类型,所以Flash Builder 4在SimpleCustomer.java中为每个公用属性生成SimpleCustomer.as属性来代表从服务器返回的 SimpleCustomer对象。注意操作返回服务类型也要在基于Java类中返回类型的方法的Data/Services视图中恰当的被配置。
  既然消耗远程服务目标所需的代码已经生成,下段中的步骤将显示在UI控件中来自服务请求的响应。
  给UI组件绑定服务请求结果
  Flash Builder 4也可以生成代码来调用服务请求并绑定服务请求结果给UI组件。在这个例子中,你将绑定getAllCustomers()操作结果给DataGrid。
  1.     在应用程序设计视图中添加DataGrid组件。
  2.    右击DataGrid选择绑定数据。
  图5.选择服务和操作
  3.    弹出绑定数据对话框,选择"新的服务请求(New service call)"。
  4.    从"服务(service)"列表中,选择SimpleCustomerServiceDestination;从"操作(Operation)"列表中选择getAllCustomers():SimpleCustomer[],如图5所示。
  5.    点击"完成(OK)"。
  因为你选择了"新的服务请求(New service call)", Flash Builder 4将创建一个新的SimpleCustomerServiceDestination类的实例,并在当前MXML文件中创建一个 CallResponder类。如果SimpleCustomerServiceDestination实例已经存在,唯一的CallResponder 实例将被创建。CallResponder类帮助你管理asynchronous请求结果给RPC-based 服务。你会在Flex语言参数中发现更多关于CallResponder的细节。
  注意:如果你在当前的MXML文件中已经有了服务请求并且你想绑定结果到UI组件上,那么在"绑定数据(Bind To Data)"对话框中选择现有的请求结果,并选择现有的服务请求。 保存你的应用程序并运行它。Flex应用程序在Web浏览器中发布后,它将调用服务器上的SimpleCustomerService Java类中的getAllCustomers()>loading...  AddFeedbackCountStack("5816307")  ) |  举报| 收藏
分享到:
评论

相关推荐

    智慧学院智能化项目规划设计方案PPT(45页).pptx

    智慧学院智能化项目规划设计方案PPT(45页).pptx

    AO工艺设计计算(全).xls

    污水处理计算书

    ASP+ACCESS动态网站设计与制作(源代码+设计说明书).zip

    ASP+ACCESS动态网站设计与制作(源代码+设计说明书).zip

    基于matlab实现的二维渗流代码,用于模拟在二维条件下,格点所受碰撞的次数.rar

    基于matlab实现的二维渗流代码,用于模拟在二维条件下,格点所受碰撞的次数.rar

    基于matlab实现可实现脉冲编码调制,模拟信号的数字传输:抽样、量化、编码.rar

    基于matlab实现可实现脉冲编码调制,模拟信号的数字传输:抽样、量化、编码.rar

    ASP+access网上购物系统(设计说明书+源代码).zip

    ASP+access网上购物系统(设计说明书+源代码).zip

    Screenshot_20240503_054519.jpg

    Screenshot_20240503_054519.jpg

    node-v12.17.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ASP+ACCESS软件信息发布系统设计(源代码+设计说明书+调研报告+任务书).zip

    ASP+ACCESS软件信息发布系统设计(源代码+设计说明书+调研报告+任务书).zip

    2024年金属氧化物避雷器行业分析报告.pptx

    行业报告

    ASP+SQL学生排课管理系统(源代码+设计说明书).zip

    ASP+SQL学生排课管理系统(源代码+设计说明书).zip

    node-v10.18.1-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    The Experiment 2 of Engineering Electromagnetics.pdf

    The Experiment 2 of Engineering Electromagnetics.pdf

    2003-2022年上市公司管理层权力强度综合指标含原始数据+do代码(excel+dta)

    2003-2022年上市公司管理层权力强度综合指标含原始数据+do代码(exce l+dta) 作为公司内部监督的一个重要方面,有效的内部控制能够减轻管理层与股东 之间的代理冲突,进一步保护投资者利益; 而作为公司外部监督的一个重要内容, 分析 师跟踪有助于降低管理层与外部投资者之间的信息不对称程度, 提高公司的可信度。这两 者都可以在一定程度上有效约束管理层的机会主义行为。 1、数据时间:2000-20 22年 2、数据文件:包含原始数据、do代码、参考文献及最终结果 3、数据格式: excel+dta格式 4、数据说明: ①剔除了ST、*ST、金融业、资不抵债、 关键数据缺失的观测值; ②参考了郑珊珊(2019)和刘剑民(2019)的方法,运 用主成分分析方法,构建了2个管理层权力强度的指标。 ③Powe_郑珊珊:依据两职 合一、董事会规模、 内部董事比例、股权分散度、管理层持股,运用主成分分析方法构建 而成。 ④Powe_刘剑民:依据两职合一、董事会规模、 内部董事比例、总经理任期 、管理层持股,运用主成分分析方法构建而成。 5、数据预览: 数据文件: do代码 : 运行结果:

    基于matlab实现的进行渗流力学的s-w曲线,压降漏斗,相渗曲线的作图.rar

    基于matlab实现的进行渗流力学的s-w曲线,压降漏斗,相渗曲线的作图.rar

    基于地理格网的时空知识图谱python源码+详细说明.zip

    如何运行及使用 运行 用eclipse直接clone本项目,GettingStarted目录下的GettingStarted类可以直接运行,查看结果 同时jar目录下有生成的jar包,下载后也可以直接调用 使用 初次使用流程:新建知识图谱加载知识图谱添加数据添加或查询 非初次:加载知识图谱添加或查询 Geokg包中主要类与方法介绍 KnowledgeGraph类 创建知识图谱方法 调用创建图谱方法,则会在指定目录创建数据库,一个目录下只能创建一个知识图谱,否则程序报错并强制退出 创建知识图谱的方法有两个,都为静态方法,可以通过类名KnowledgeGraph直接调用,分别为: //@param iGridLevel 要构建的知识图谱网格的等级,取值范围为0-20,小于0取自动取0,大于20自动取20 //@param strDataStore 自定义的存储知识图谱的本地目录 public static boolean createKnowledgeGraph(int iGridLevel,String strDataStore){} //@param iGri

    基于matlab实现的应用于配电网重构的改进二进制粒子群算法,能够取得比较理想的效果.rar

    基于matlab实现的应用于配电网重构的改进二进制粒子群算法,能够取得比较理想的效果.rar

    node-v12.22.6-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    商业分析工具:常用战略分析工具gl.ppt

    商业分析工具:常用战略分析工具gl.ppt

    氧化沟工艺在污水处理中的应用.doc

    课程设计污水处理

Global site tag (gtag.js) - Google Analytics