组长说要大家一起学习下Hessian,于是开始各个网站搜寻相关信息,然后组织了一遍。
个人觉得这个东西会用就行,它的原理对我们好像没什么太大的价值。^_^
Hessian介绍:
Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据 【百度百科】
下面几种常用通讯协议的比较:
http://www.360doc.com/content/08/1123/11/56145_1984046.shtml
Hessian的优点:
二进制传输,速度快
易用性:编码简单
基于http协议,可以穿透防火墙
Hessian原理:
客户端:
客户端主要是通过 HessianProxyFactory 的 create 方法就是创建接口的代理类,该类实现了接口, JDK 的 proxy 类会自动用 InvocationHandler 的实现类(该类在 Hessian 中表现为 HessianProxy )的 invoke 方法体来填充所生成代理类的方法体。
服务端:
Hessian的server端通过HessianServlet处理客户端发送过来的请求,匹配到相应的Hessian服务进行处理。
Hessian的使用方式:
1. 不使用其他框架配合,纯的Hessian.jar的调用
2. Hessian与Spring整合【现在大多数都使用这个组合】
Hessian通过HessianServlet提供远程服务,纯的使用Hessian时可在web.xml配置相应的映射到Hessian服务。如果与spring整合,则Spring的DispatcherServlet可将匹配模式的请求转发到Hessian服务,web.xml只是定义了请求转发器,该转发器将匹配相应模式的请求截获,转发给context的bean处理。而HessianServiceExporter提供bean服务。
1:通过DispatcherServlet来拦截URL请求。
2:HessianServiceExporter提供bean服务,Spring使用HessianServiceExporter,将一个常规bean导出成Hessian服务
Hessian编程:
Hessian的远程调用,完全使用动态代理实现,推荐使用面向接口的编程,所有的服务以接口的形式提供给客户端,这样在大部分情况下,当服务端的具体实现有变化时,无需重新分发jar包给客户端,我们只需要把服务端进行修正发布即可,这样当有多个客户端对当前服务端有远程调用时,实用性更明显。
分享到:
相关推荐
通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。序列化是将对象的状态转换为可存储或可传输的形式的过程。在Java中,如果一个类实现了Serializable接口,那么该类...
在"Flex + Hessian 学习笔记(二)"中,我们可能涉及以下几个关键知识点: 1. **Flex客户端开发**:Flex项目通常使用MXML和ActionScript编写,MXML用于声明式地构建UI,而ActionScript则用于编写应用程序逻辑。开发者...
在这个“hessian学习实例”中,我们将深入探讨Hessian框架的使用,特别是如何将其与Spring框架集成,以及如何构建server端和client端。 首先,让我们理解Hessian的工作原理。Hessian基于HTTP协议,它将Java对象序列...
**WebService的轻量级实现——Hessian学习笔记** 在IT行业中,WebService作为一种常见的跨平台、跨语言的通信机制,被广泛应用于系统间的交互。然而,传统的SOAP(Simple Object Access Protocol)协议实现的...
Hessian是一种二进制协议,它被设计用于提高远程调用的...通过学习和实践这个Hessian demo,你将能够更好地应对涉及远程调用和数据交换的问题。无论是Java开发者还是C++开发者,Hessian都是值得了解和掌握的一项技术。
下面我们将深入探讨Hessian的学习、实例以及其在实际应用中的使用。 首先,Hessian的吸引力在于它的二进制格式,这使得数据在网络上传输时占用更少的带宽。相比于XML或JSON等文本格式,二进制格式的数据通常更小,...
这是一个Hessian入门学习的实例,程序包是一个web工程,使用intellij idea + Maven开发,其中通过两个方式展示了使用Hessian实现RMI的原理,一个是访问jsp页面,一个是在代码中手工创建client。对于Hessian Servlet...
Hessian学习笔记 Hessian是一种基于Binary-RPC协议实现的远程通讯library,由Caucho提供。下面是Hessian的学习笔记: 一、简介 Hessian是基于Binary-RPC协议实现的远程通讯library,用于实现远程过程调用(RPC)...
4. **Hessian客户端和服务器实现**:理解如何在Java或其他支持的语言中实现Hessian客户端和服务端是学习的关键。这包括创建服务端的HessianServlet,以及客户端的HessianProxyFactory,用于创建远程服务的代理对象。...
Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...
总结,这个压缩包文件提供了一个完整的Hessian学习路径,包括基础的Hessian服务创建和更高级的与Spring框架的整合。通过实践这些实例,开发者能够快速掌握Hessian的核心概念,进而将其应用于实际项目中,提升远程...
总之,这个压缩包提供了全面的Hessian学习资源,从基础的使用示例到与Spring的深度集成,可以帮助你快速掌握Hessian技术,并将其应用于实际的Web开发中。通过深入理解和实践,你将能够充分利用Hessian的高效性和便捷...
在博客链接《iteye博客:550771》中,作者可能详细讨论了Hessian的使用方法、优缺点以及实战案例,可以作为学习Hessian的参考资料。 **六、Hessian的使用场景** 1. **微服务通信**:在微服务架构中,Hessian可以...
此外,还可以结合其他图像处理技术,如区域生长、水平集或者机器学习算法,进一步优化分割结果。 文件"基于Hessian矩阵增强的心血管分割"可能包含了实现这一方法的详细步骤、算法描述、实验结果以及与其他方法的...
用户只需按照说明运行这些文件,就可以快速体验Hessian的通信过程,这对于学习和测试Hessian协议非常有帮助。 Hessian的优势在于它的二进制编码,相比于基于文本的协议(如JSON或XML),它能显著减少网络传输的数据...
在Spring框架中集成Hessian是为了实现远程方法调用(Remote Method Invocation, RMI),这是一种轻量级的序列化协议,可以高效地传输Java...通过深入学习和实践,我们可以更好地利用Hessian来构建高性能的分布式系统。
SpringMVC 和 Hessian 是两种在 Java 开发中常见的技术,它们在构建分布式系统时扮演着重要角色。SpringMVC 是 Spring 框架的一部分,...通过学习和实践,你不仅可以掌握这两种技术,还能深入了解分布式系统的构建。
在IT行业中,Hessian是一种二进制Web服务协议,它被设计..."hessian-example"项目提供了学习和实践Hessian的实例,通过阅读相关博客和研究示例代码,开发者可以快速掌握Hessian的使用,提升其在实际项目中的应用能力。