组长说要大家一起学习下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包给客户端,我们只需要把服务端进行修正发布即可,这样当有多个客户端对当前服务端有远程调用时,实用性更明显。
分享到:
相关推荐
NULL 博文链接:https://qinghua0208.iteye.com/blog/493516
想学习Hessian的同志们,这个是一个简单的demo。比较简单,不过能够加深对Hessian的理解
hessian学习实例,hessian框架例子,与Spring集成。包括了server端和client端
WebService另一种轻量级实现—Hessian 学习笔记.rar
这是一个Hessian入门学习的实例,程序包是一个web工程,使用intellij idea + Maven开发,其中通过两个方式展示了使用Hessian实现RMI的原理,一个是访问jsp页面,一个是在代码中手工创建client。对于Hessian Servlet...
NULL 博文链接:https://otom31.iteye.com/blog/1175539
source & swf 博文链接:https://wangcheng.iteye.com/blog/141539
Flex + Hessian 学习笔记(一) http://wangcheng.javaeye.com/blog/141382 Flex + Hessian 学习笔记(二) http://wangcheng.javaeye.com/blog/141539 Flex + Hessian 学习笔记(三) ...
NULL 博文链接:https://pangxin12345.iteye.com/blog/1102597
Hessian的学习笔记
Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解
一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...
Hessian与Spring整合需要jar包,需要的同学进行下载学习
Dubbo依赖的RPC模式学习,RMI和Hessian
学习hessian的必要jar,放在lib下就可以直接引用对应的类
深度学习数值计算之Hessian矩阵与牛顿法
保持局部邻域关系的增量Hessian LLE算法,高翠珍,胡建龙,Hessian LLE算法是一种经典的流形学习算法,但该方法是以批处理的方式进行的,当新的数据点加入时,必须重新运行整个算法计算所有数�
struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...