博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hessian学习
阅读量:6264 次
发布时间:2019-06-22

本文共 1193 字,大约阅读时间需要 3 分钟。

hot3.png

组长说要大家一起学习下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包给客户端,我们只需要把服务端进行修正发布即可,这样当有多个客户端对当前服务端有远程调用时,实用性更明显。

转载于:https://my.oschina.net/dreamnight/blog/695051

你可能感兴趣的文章
vb webbrower 相对坐标
查看>>
原始的js代码和jquery对比
查看>>
.net和java和谐相处之安卓客户端+.net asp.net mvc webapi 2
查看>>
Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用
查看>>
jquery对象和javascript对象相互转换
查看>>
laravel开启调试模式
查看>>
Spring aop的实现原理
查看>>
ADO.NET一小记-select top 参数问题
查看>>
(转)jquery easyui treegrid使用小结 (主要讲的是如何编辑easyui中的行信息包括添加 下拉列表等)...
查看>>
iOS使用宏写单例
查看>>
Isotig & cDNA & gene structure & alternative splicing & gene loci & 表达谱
查看>>
3、Cocos2dx 3.0游戏开发找小三之搭建开发环境
查看>>
携程Apollo(阿波罗)配置中心使用Google代码风格文件(在Eclipse使用Google代码风格)(配合阿里巴巴代码规约快速设置)...
查看>>
Hadoop(七)HDFS容错机制详解
查看>>
字符串中去除多余的空格保留一个(C#)
查看>>
Python随机字符串验证码
查看>>
SQL中 patindex函数的用法
查看>>
Vmware 虚拟机无法启动
查看>>
LeetCode: Partition List 解题报告
查看>>
如何查看Python对象的属性
查看>>