Hessian

一、简介:

    Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

    Hessian通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet可以完成该功能,DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个servlet基类, 用来处理发送的请求,而Hessian的这个远程过程调用,完全使用动态代理来实现的,,推荐采用面向接口编程,因此,Hessian服务建议通过接口暴露。 

    

    Hessian处理过程示意图:     

        客户端——>序列化写到输出流——>远程方法(服务器端)——>序列化写到输出流 ——>客户端读取输入流——>输出结果 

二、非法验证(应用协议验证)

    简述:由于项目Hessian提供接口供客户端访问,那必要的安全措施是不可忽略的,我们在项目中增加安全验证,以防“破坏者”非法调用接口,可以有效的提高项目安全性。

    服务端    

        org.springframework.remoting.caucho.HessianServiceExporte:

        项目映射的请求,总是会经过 HessianServiceExporte类,那么我们创建一个类,并去继承HessianServiceExporte,并使映射处理指向这子类,在子类当中,去重写handleRequest方法,在handleRequest方法中,增加接入验证,验证方式自定。

    

    客户端

        org.springframework.remoting.caucho.HessianProxyFactoryBean:

        项目请求处理,总是会经过 HessianProxyFactoryBean类,那么我们创建一个类,并去继承HessianProxyFactoryBean,并使请求处理指向这子类,在子类当中,去重写HessianProxyFactoryBean父类HessianClientInterceptor的invoke”方法, invoke 方法中,增加提供"服务端"验证信息,信息内容以服务端需要内容为准。


最后附上项目地址:http://git.oschina.net/bob4j/Hessian


转载于:https://my.oschina.net/u/1995545/blog/357660

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值