`
wangcheng
  • 浏览: 1467267 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

Flex + Hessian 学习笔记(一)

阅读更多
Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览 http://hessian.caucho.com/

废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。
java 代码
 
  1. //java服务端接口  
  2. public interface MyHessianService {  
  3.   
  4.     public String getUserName(Integer userId);  
  5. }  
java 代码
 
  1. import com.caucho.hessian.server.HessianServlet;  
  2.   
  3. //java服务端接口实现类  
  4. public class MyHessianServiceImpl extends HessianServlet implements  
  5.         MyHessianService {  
  6.   
  7.     public String getUserName(Integer userId) {  
  8.         return "MyName" + userId;  
  9.     }  
  10.   
  11. }  
web.xml 代码
 
  1. <servlet>  
  2.     <servlet-name>myservice</servlet-name>  
  3.     <servlet-class>myhessian.service.MyHessianServiceImpl</servlet-class>  
  4. </servlet>  
  5.   
  6. <servlet-mapping>  
  7.     <servlet-name>myservice</servlet-name>  
  8.     <url-pattern>/myservice</url-pattern>  
  9. </servlet-mapping>  

服务端就上面这些,下面是flex的代码

xml 代码
 
  1. <mx:Application   
  2.     xmlns:mx="http://www.adobe.com/2006/mxml"   
  3.     layout="absolute"   
  4.     implements="mx.rpc.IResponder"  
  5.     xmlns:hessian="hessian.mxml.*">  
  6.   
  7.     <mx:Script>  
  8.         [CDATA[  
  9.             import mx.controls.Alert;  
  10.             import mx.rpc.events.ResultEvent;  
  11.             import mx.rpc.AsyncToken;  
  12.               
  13.             public function result(data:Object):void {  
  14.                 var event:ResultEvent = data as ResultEvent;  
  15.                 userName.text = event.result as String;  
  16.             }  
  17.               
  18.             public function fault(data:Object):void {  
  19.                 Alert.show("error");  
  20.             }  
  21.               
  22.             public function onClick():void {  
  23.                 var userId : NumberNumber = Number(userIdInput.text);  
  24.                 //getUserName 就是java服务端 MyHessianServiceImpl 中的 getUserName 方法  
  25.                 var token:AsyncToken = myHessianService.getUserName.send(userId);  
  26.                 token.addResponder(this);  
  27.             }  
  28.         ]]  
  29.     </mx:Script>  
  30.   
  31.     <hessian:HessianService id="myHessianService" destination="myservice" showBusyCursor="true"/>  
  32.   
  33.     <mx:Label x="10" y="10" text="UserID"/>  
  34.     <mx:TextInput id="userIdInput" x="61" y="8"/>  
  35.     <mx:Button x="10" y="36" label="getUserName" click="onClick()"/>  
  36.     <mx:Label id="userName" x="122" y="38" text="" width="99" fontWeight="bold" fontSize="11"/>  
  37.       
  38. </mx:Application>  

输入一个userID, 服务端返回userName
注意需要实现mx.rpc.IResponder接口
分享到:
评论
3 楼 wangwanttt 2008-10-09  
java最后发布到TOMCAT,FLEX DEBUG目录下生成的XX.HTML放到哪呢?
2 楼 wangcheng 2008-04-01  
呵呵,只是多提供一种解决方案,扩展一下思路,Flex + Hessian 我还写了另外两篇,感兴趣的话可以看看

Flex + Hessian 学习笔记(二)
http://wangcheng.iteye.com/blog/141539

Flex + Hessian 学习笔记(三)
http://wangcheng.iteye.com/blog/151644
1 楼 isflyer 2008-04-01  
对我帮助很大,可是hessian的优点在哪里?直接servlet是不是更简单些?

相关推荐

    Flex + Hessian 留言本

    Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...

    Flex + Hessian 学习笔记(二)

    在"Flex + Hessian 学习笔记(二)"中,我们可能涉及以下几个关键知识点: 1. **Flex客户端开发**:Flex项目通常使用MXML和ActionScript编写,MXML用于声明式地构建UI,而ActionScript则用于编写应用程序逻辑。开发者...

    SpringMVC + Mybatis + Hessian + Maven

    Spring + Mybatis + Hessian 亲自手写,附带测试用例,有问题随时提问。操作流程,自己导入sql,并修改数据库配置,配置Tomcat后启动服务,然后启动Tomcat, 最后测试用例。 测试用例步骤:步骤1.Run HessianTest. ...

    Spring + Hessian + Spring MVC(包括Server和Client).zip

    1.名称:Spring + Hessian + Spring MVC(包括Server和Client).zip 2.来源:自己实现 3.备注:项目有两个系统,包括Server端和Client端,项目已经跑通,可以实现。 4.注意:client中pom.xml里最后的一个jar包,需要...

    SpringMVC+ibatis+hessian基础框架

    压缩包里有两个 springMVC+Ibatis 的项目:HessianServer(服务器端),HessianClient(客户端),解压导入到MyEclipse 更改配置文件中的数据源,建表(和实体类对应的表),执行客户端中的BasicClient.java文件即可...

    spingMVC+mybatis+hessian+activeMQ+redis

    完美整合spingMVC+mybatis+hessian+activeMQ+redis,引入mybatis物理分页插件,模拟cookie登陆的工具类。

    CXF+RMI+HESSIAN

    客户端则可以通过RMI接口调用这些服务,而Hessian作为RMI的一种优化实现,可以在底层处理数据的序列化和反序列化,提升服务调用的速度。这种方式有助于构建高可用、高并发的分布式系统,同时也降低了网络带宽的消耗...

    struts2+ibatis+spring+Hessian 整合项目

    struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...

    spring+hessian+maven整合.zip

    spring+hessian+maven整合.zip

    基于spring+hessian框架的webservice实例

    在这个实例中,我们学习了如何利用Spring的自动装配和Hessian的高效通讯能力,实现了一个简单的Web Service。这种方式适用于需要快速、轻量级交互的场景,特别适合于内部服务之间的通信,或者对性能有较高要求的应用...

    OSGI+SpringDM+Hessian

    结合这三个技术,我们可以创建一个高度模块化的、动态的Java应用,其中各个组件(即OSGI bundle)可以通过SpringDM管理并使用Hessian进行高效通信。例如,一个bundle可以提供Hessian服务,其他bundle则可以作为...

    Springmvc+Hibernate+Hessian架包整合

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、Hibernate和Hessian这三大技术框架的整合可以实现这一目标。本篇将详细介绍这三个组件以及它们如何协同工作,帮助开发者构建高质量的分布式应用...

    DuBBo(rmi+Hessian).zip

    本压缩包“DuBBo(rmi+Hessian).zip”提供了关于Dubbo如何与RMI(Remote Method Invocation)和Hessian两种通信协议结合使用的深入学习资料。下面我们将详细探讨这两个知识点。 首先,RPC(Remote Procedure Call)...

    flex-hessian-java实例.rar

    Flex-Hessian-Java实例是一个关于使用Flex客户端与Java服务器之间进行高效远程调用的实践案例。这个压缩包包含了实现这一技术所需的关键组件和文件。Flex是Adobe开发的一种开放源码的富互联网应用(RIA)开发框架,...

Global site tag (gtag.js) - Google Analytics