1、简介:git
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,由于采用的是二进制协议,因此它很适合于发送二进制数据。spring
Hessian经过Servlet提供远程服务。须要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet能够完成该功能,DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个servlet基类, 用来处理发送的请求,而Hessian的这个远程过程调用,彻底使用动态代理来实现的,,推荐采用面向接口编程,所以,Hessian服务建议经过接口暴露。 编程
Hessian处理过程示意图: 安全
客户端——>序列化写到输出流——>远程方法(服务器端)——>序列化写到输出流 ——>客户端读取输入流——>输出结果 服务器
2、非法验证(应用协议验证)工具
简述:因为项目Hessian提供接口供客户端访问,那必要的安全措施是不可忽略的,咱们在项目中增长安全验证,以防“破坏者”非法调用接口,能够有效的提升项目安全性。spa
服务端 .net
org.springframework.remoting.caucho.HessianServiceExporte:代理
项目映射的请求,老是会通过“ HessianServiceExporte”类,那么咱们建立一个类,并去继承HessianServiceExporte,并使映射处理指向这子类,在子类当中,去重写“handleRequest”方法,在handleRequest方法中,增长接入验证,验证方式自定。orm
客户端
org.springframework.remoting.caucho.HessianProxyFactoryBean:
项目请求处理,老是会通过“ HessianProxyFactoryBean”类,那么咱们建立一个类,并去继承HessianProxyFactoryBean,并使请求处理指向这子类,在子类当中,去重写HessianProxyFactoryBean父类HessianClientInterceptor的“invoke”方法,在 invoke 方法中,增长提供"服务端"验证信息,信息内容以服务端须要内容为准。
最后附上项目地址:http://git.oschina.net/bob4j/Hessian