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