試著寫了一個Hessian的例子,是參考caucho官網(wǎng)上的一個example,很簡單,也沒什么實際的意義,但足以領(lǐng)會Hessian的用法。
1、建立一個Remote Interface








2、Service Implementation











官網(wǎng)上的例子是沒有實現(xiàn)MathService接口的,而且也能運行成功,但我覺得有點不合邏輯,不應(yīng)該將該實現(xiàn)類作為MathService接口暴露給client端。
3、web.xml










4、Java client













使用java實現(xiàn)的client,通過HessianProxyFactory的create即可獲取到服務(wù)接口。
5、python client







使用python實現(xiàn)的client,需加入hessianlib.py。
以上就是一個完整的Hessian實現(xiàn)。
Spring也提供了對Hessian的集成,若使用spring,server端的service實現(xiàn)類則不需實現(xiàn)HessianServlet,使用Spring的DispatcherServlet來配置一個Servlet暴露你的服務(wù)。
web.xml












還需要在 WEB-INF 目錄里創(chuàng)建一個名為 remote-servlet.xml(remote為你配置的servlet名)的應(yīng)用上下文。
remote-servlet.xml







server端做以上操作即可。
client端可以延用之前的操作,若使用spring則可通過 HessianProxyFactoryBean在客戶端連接服務(wù),在spring的配置中加入:








加入以上的配置后,就可像使用其他的bean一樣去操作了。原來實現(xiàn)一個webservice是可以這么簡單的。