Hessian是Caucho开发的一种二进制Web Service协议。他们的开源实现采用Apache许可。详情请浏览
http://hessian.caucho.com/
废话就不多说了,下面是一个Flex + Hessian 的小程序,直接看代码吧。
java 代码
-
- public interface MyHessianService {
-
- public String getUserName(Integer userId);
- }
java 代码
- import com.caucho.hessian.server.HessianServlet;
-
-
- public class MyHessianServiceImpl extends HessianServlet implements
- MyHessianService {
-
- public String getUserName(Integer userId) {
- return "MyName" + userId;
- }
-
- }
web.xml 代码
- <servlet>
- <servlet-name>myservice</servlet-name>
- <servlet-class>myhessian.service.MyHessianServiceImpl</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>myservice</servlet-name>
- <url-pattern>/myservice</url-pattern>
- </servlet-mapping>
服务端就上面这些,下面是flex的代码
xml 代码
- <mx:Application
- xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="absolute"
- implements="mx.rpc.IResponder"
- xmlns:hessian="hessian.mxml.*">
-
- <mx:Script>
- [CDATA[
- import mx.controls.Alert;
- import mx.rpc.events.ResultEvent;
- import mx.rpc.AsyncToken;
-
- public function result(data:Object):void {
- var event:ResultEvent = data as ResultEvent;
- userName.text = event.result as String;
- }
-
- public function fault(data:Object):void {
- Alert.show("error");
- }
-
- public function onClick():void {
- var userId : NumberNumber = Number(userIdInput.text);
- //getUserName 就是java服务端 MyHessianServiceImpl 中的 getUserName 方法
- var token:AsyncToken = myHessianService.getUserName.send(userId);
- token.addResponder(this);
- }
- ]]
- </mx:Script>
-
- <hessian:HessianService id="myHessianService" destination="myservice" showBusyCursor="true"/>
-
- <mx:Label x="10" y="10" text="UserID"/>
- <mx:TextInput id="userIdInput" x="61" y="8"/>
- <mx:Button x="10" y="36" label="getUserName" click="onClick()"/>
- <mx:Label id="userName" x="122" y="38" text="" width="99" fontWeight="bold" fontSize="11"/>
-
- </mx:Application>
输入一个userID, 服务端返回userName
注意需要实现mx.rpc.IResponder接口
分享到:
相关推荐
Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...
在"Flex + Hessian 学习笔记(二)"中,我们可能涉及以下几个关键知识点: 1. **Flex客户端开发**:Flex项目通常使用MXML和ActionScript编写,MXML用于声明式地构建UI,而ActionScript则用于编写应用程序逻辑。开发者...
Spring + Mybatis + Hessian 亲自手写,附带测试用例,有问题随时提问。操作流程,自己导入sql,并修改数据库配置,配置Tomcat后启动服务,然后启动Tomcat, 最后测试用例。 测试用例步骤:步骤1.Run HessianTest. ...
1.名称:Spring + Hessian + Spring MVC(包括Server和Client).zip 2.来源:自己实现 3.备注:项目有两个系统,包括Server端和Client端,项目已经跑通,可以实现。 4.注意:client中pom.xml里最后的一个jar包,需要...
压缩包里有两个 springMVC+Ibatis 的项目:HessianServer(服务器端),HessianClient(客户端),解压导入到MyEclipse 更改配置文件中的数据源,建表(和实体类对应的表),执行客户端中的BasicClient.java文件即可...
完美整合spingMVC+mybatis+hessian+activeMQ+redis,引入mybatis物理分页插件,模拟cookie登陆的工具类。
客户端则可以通过RMI接口调用这些服务,而Hessian作为RMI的一种优化实现,可以在底层处理数据的序列化和反序列化,提升服务调用的速度。这种方式有助于构建高可用、高并发的分布式系统,同时也降低了网络带宽的消耗...
struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...
spring+hessian+maven整合.zip
在这个实例中,我们学习了如何利用Spring的自动装配和Hessian的高效通讯能力,实现了一个简单的Web Service。这种方式适用于需要快速、轻量级交互的场景,特别适合于内部服务之间的通信,或者对性能有较高要求的应用...
结合这三个技术,我们可以创建一个高度模块化的、动态的Java应用,其中各个组件(即OSGI bundle)可以通过SpringDM管理并使用Hessian进行高效通信。例如,一个bundle可以提供Hessian服务,其他bundle则可以作为...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、Hibernate和Hessian这三大技术框架的整合可以实现这一目标。本篇将详细介绍这三个组件以及它们如何协同工作,帮助开发者构建高质量的分布式应用...
本压缩包“DuBBo(rmi+Hessian).zip”提供了关于Dubbo如何与RMI(Remote Method Invocation)和Hessian两种通信协议结合使用的深入学习资料。下面我们将详细探讨这两个知识点。 首先,RPC(Remote Procedure Call)...
Flex-Hessian-Java实例是一个关于使用Flex客户端与Java服务器之间进行高效远程调用的实践案例。这个压缩包包含了实现这一技术所需的关键组件和文件。Flex是Adobe开发的一种开放源码的富互联网应用(RIA)开发框架,...