Hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能. 相比WebService,Hessian更簡單、快捷。
采用的是二進制RPC協議,因為采用的是二進制協議,所以它很適合于發送二進制數據。
本文將分為以下幾個內容:
一、一個簡單的Hessian調用例子
二、Spring+Hessian的例子
三、使我們的調用變得通用
第一部分:一個簡單的Hessian調用例子
建立web工程HessianService。
這里為了簡單起見,我將遠程接口類、接口實現類都定義在此web工程下。
個人覺得一個比較好的做法是將web工程分開,此web工程只定義對外的接口并提供服務,而實現類新建一個Java工程存放。
這樣web工程依賴此Java工程,且客戶端也依賴此Java工程。
1) 遠程接口類 ServiceRemote.java








2) 實現類 Service.java



















3) web.xml配置

















經過以上3步,hessian服務部署算是完成了,在tomcat下發布。
4) 調用方代碼













執行代碼,結果如下:
{NAME=Hessian}
說明調用遠程代碼成功了。
二、Spring+Hessian的例子
1) web工程HessianService 的ServiceRemote 和Service類不變。對web.xml進行修改:





















這里要注意的是:
a)dispatcher-servlet.xml這個文件的命名。servlet配置為dispatcher,則此文件定義規則為****-servlet.xml.
b)另外就是Spring和hessian的版本問題。
spring版本是2.5.6,需要在此web工程下引入:spring-2.5.6.jar、spring-webmvc-2.5.6.jar、commons-logging-1.1.1.jar。
hessian的版本是hessian-3.1.6.jar,hessian的低版本如 hessian-3.0.13和此Spring版本不合。(我試驗了是配置不成功的。)
2) dispatcher-servlet.xml














3) 客戶端代碼可以保持原樣不變,把調用hessian服務的url變換一下即可:
http://localhost:8080/HessianService/remote/service
http://IP:port/發布工程名/web.xml中配置的url-pattern/****-servlet.xml bean的ID。
三、使我們的調用變得通用 將在下一篇中介紹。