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

Flex 与 WebORB 学习

    博客分类:
  • flex
阅读更多
Flex 与 WebORB 学习(二)
关键字: flex flash weborb amf java
在现有的web app中整合WebORB and flex应用。
http://www.themidnightcoders.com/weborb/java/deploying_weborb_into_java_ee_server.shtm



使用
WebORB for Java 3.0 Beta 1
Tomcat 5.5.23



[WEBORB_INSTALL] 指WebORB解压缩目录
[YOUR APP PATH] 指现有web app的web root目录



一、POJO与WebORB整合

例如现有的web应用中有一个UserService

public class UserService {

public UserBean getUserBean(int id) {

UserBean bean = new UserBean();
bean.setId(id);
bean.setName("aaaa");

return bean;
}
}

1.复制 [WEBORB_INSTALL]\webapp\WEB-INF\classes\weborb-config.xml
到 [YOUR APP PATH]\WEB-INF\classes



2.复制 [WEBORB_INSTALL]\weborb.jar
到 [YOUR APP PATH]\WEB-INF\lib



3.修改 [YOUR APP PATH]\WEB-INF\web.xml 添加

<servlet>
  <servlet-name>weborb</servlet-name>
  <servlet-class>weborb.ORBServlet</servlet-class>
  <load-on-startup> 1 </load-on-startup>
</servlet>

<servlet>
  <servlet-name>download</servlet-name>
  <servlet-class>weborb.DownloadServlet</servlet-class>
  <load-on-startup> 1 </load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>download</servlet-name>
  <url-pattern>/codegen.wo</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>weborb</servlet-name>
  <url-pattern>*.wo</url-pattern>
</servlet-mapping> 

4.创建 [YOUR APP PATH]\WEB-INF\flex 目录
复制 [WEBORB_INSTALL]\webapp\WEB-INF\flex 所有内容
到 [YOUR APP PATH]\WEB-INF\flex



打开Flex Builder创建project
File -> New -> Flex Project -> Flex Data Services



Root folder: [YOUR APP PATH]
Root URL: http://localhost:8080/[Your App Context]
Context root: /[Your App Context]



项目名称我使用的是 flexWebORB1 (会自动创建[YOUR APP PATH]\flexWebORB1 目录)
mxml内容如下

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>
[CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

private function faultHandler( event:FaultEvent ):void {
    Alert.show( event.fault.faultString, "Error" );
}

private function getComputerInfoHandler( event:ResultEvent ):void {
Alert.show(event.result.name);
}

public function onClick() : void {
compinfo.getUserBean(1);
}
]]
</mx:Script>

<mx:RemoteObject id="compinfo" source="myapp.service.UserService"
                 destination="GenericDestination"
                 showBusyCursor="true"
                 fault="faultHandler(event)" >
     <mx:method name="getUserBean" result="getComputerInfoHandler(event)"/>
</mx:RemoteObject>

<mx:Button x="10" y="10" label="Button" click="onClick()"/>

</mx:Application>

RemoteObject中的 source="myapp.service.UserService" 是java类的完全限定名
destination="GenericDestination" 是配置在[YOUR APP PATH]\WEB-INF\flex\remoting-config.xml 中



    <destination id="GenericDestination">
        <properties>
            <source>*</source>
        </properties>
    </destination> 

编译flex, 启动tomcat就可以测试了swf了.



我们也可以添加一个destination
在remoting-config.xml 中添加

    <destination id="UserServiceDestination">
        <properties>
            <source>myapp.service.UserService</source>
        </properties>
    </destination> 

修改mxml

<mx:RemoteObject id="compinfo"
                 destination="UserServiceDestination"
                 showBusyCursor="true"
                 fault="faultHandler(event)" >
     <mx:method name="getUserBean" result="getComputerInfoHandler(event)"/>
</mx:RemoteObject>

重启Tomcat进行测试



二、整合WebORB 管理控制台


1.复制 [WEBORB_INSTALL]\webapp\weborbconsole.html
到[YOUR APP PATH]


2.复制
[WEBORB_INSTALL]\webapp\console
[WEBORB_INSTALL]\webapp\weborbassets
两个文件夹到 [YOUR APP PATH]



重启 tomcat后,可以在 http://localhost:8080/[Your App Context]/weborbconsole.html 看到控制台.



可以在Management -> Services -> Deployed classes 中找到 WEB-INF/classes 节点
找到UserService,可以在CodeGenerator产生AS3代码
选中一个方法,可以在Test Drive中直接测试.
分享到:
评论

相关推荐

    weborb4初级教程

    《WebORB4初级教程》是一份详尽的指南,旨在帮助开发者快速掌握如何利用WebORB框架实现Flex与.NET之间的高效通信。这份教程提供了全面而深入的介绍,不仅适合初学者,也对有经验的开发人员大有裨益。 #### 二、...

    weborb.dll

    WebORB允许开发人员使用多种编程语言,如ActionScript、Flex、Java、C#或.NET,来创建分布式应用程序。它特别适合构建基于AMF(Action Message Format)的实时数据交互应用。 描述中提到的"weborb 5.1 去除授权验证...

    flex与.net通讯中间件

    总之,Flex与.NET通讯中间件,特别是WebORB,为开发人员提供了一种高效、灵活的途径,实现了Flex与.NET之间的无缝对接,促进了富互联网应用的开发和部署。理解并掌握这类中间件的使用,对于提升项目开发效率和应用...

    Flex_Java.rar

    5. ** 第三方库 **:还有许多第三方库如GraniteDS和WebOrb,它们提供了额外的功能和优化,简化了Flex与Java的集成。 压缩包中的"Flex_Java"可能是一个目录,包含了与这些通信方法相关的源代码、配置文件、教程文档...

    基于FLEX技术的投票系统实例代码

    5. **远程通信**:如果投票数据需要保存在服务器上,Flex可以使用 BlazeDS 或 WebORB 等中间件与后端服务器进行AMF(Action Message Format)通信,实现实时的数据交换。 6. **动画和特效**:Flex内置了丰富的动画...

    flex制作的象棋游戏

    如果想实现网络对战功能,Flex可以借助 BlazeDS 或 WebORB 等服务端组件,实现实时的数据交换。玩家的每一步操作都会发送到服务器,经过合法性验证后,再将结果广播给所有参与者。 8. UI设计与用户体验: Flex...

    TestAMF_Remoting_C#_

    学习这个例子,你可以深入理解WebORB for .NET如何工作,如何在C#中实现AMF Remoting服务,以及如何在客户端调用这些服务。这对于开发跨平台、高性能的RIA(Rich Internet Application)非常有帮助。此外,了解AMF...

    Curl Data Kit-开源

    AMF是一种高效的二进制数据序列化格式,常用于Flash和Flex应用与服务器之间的数据交换。通过支持AMF,Curl开发者可以利用这些服务器技术,实现与后端服务的低延迟、高性能通信,从而创建更加动态和响应迅速的RIA。 ...

    pb8_web轻松入门.rar_网络编程_PowerBuilder__网络编程_PowerBuilder_

    3. **WebORB for PB**:WebORB是一款强大的中间件,它允许PB应用程序与Web服务、Flex和Ajax进行交互。在PB8中结合WebORB,可以构建分布式、跨平台的Web应用。 4. **Web Application架构**:理解Web应用程序的基本...

Global site tag (gtag.js) - Google Analytics